3、元素定位的8大方法并判断哪一种方法可用或不可用。4、对定位元素的清除、点击、输入等操作。5、selenium中WebDriver中浏览器、网页的交互方法和属性的获得。6、使用python模块selenium+ddt或者文件+unittest模块单元测试写出163邮箱的UI自动化测试脚本对以上文字实现的功能提取心得体会
-
元素定位的8大方法包括:
- 通过id定位:driver.find_element_by_id()
- 通过name定位:driver.find_element_by_name()
- 通过class定位:driver.find_element_by_class_name()
- 通过tag name定位:driver.find_element_by_tag_name()
- 通过link text定位:driver.find_element_by_link_text()
- 通过partial link text定位:driver.find_element_by_partial_link_text()
- 通过xpath定位:driver.find_element_by_xpath()
- 通过css selector定位:driver.find_element_by_css_selector()
-
判断哪一种方法可用或不可用:
- 可用:根据页面元素的特点,选择合适的定位方法进行定位。
- 不可用:如果页面元素没有唯一的标识,或者定位方法无法准确定位到元素,就无法使用该定位方法。
-
对定位元素的清除、点击、输入等操作:
- 清除:element.clear()
- 点击:element.click()
- 输入:element.send_keys()
-
WebDriver中浏览器、网页的交互方法和属性的获得:
- 浏览器交互方法:driver.get(url),driver.back(),driver.forward(),driver.refresh(),driver.quit()
- 网页交互方法:driver.switch_to.frame(),driver.switch_to.default_content(),driver.switch_to.alert.accept(),driver.switch_to.alert.dismiss()
- 属性获得:driver.current_url,driver.title,driver.page_source
-
使用python模块selenium+ddt(或者文件)+unittest模块单元测试,编写163邮箱的UI自动化测试脚本:
import unittest
from selenium import webdriver
from ddt import ddt, data, unpack
@ddt
class Test163Email(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Chrome()
cls.driver.maximize_window()
@classmethod
def tearDownClass(cls):
cls.driver.quit()
def setUp(self):
self.driver.get("https://mail.163.com/")
def tearDown(self):
pass
@data(("username1", "password1"), ("username2", "password2"))
@unpack
def test_login(self, username, password):
# 定位元素并进行操作
username_input = self.driver.find_element_by_id("username")
username_input.clear()
username_input.send_keys(username)
password_input = self.driver.find_element_by_id("password")
password_input.clear()
password_input.send_keys(password)
login_button = self.driver.find_element_by_id("login")
login_button.click()
# 进行断言判断
self.assertEqual(self.driver.title, "163邮箱")
if __name__ == "__main__":
unittest.main()
心得体会:
- 元素定位是UI自动化测试中非常重要的一步,选择合适的定位方法能够准确地定位到页面元素。
- 通过清除、点击、输入等操作,可以模拟用户在页面上的交互行为。
- 使用selenium+ddt(或者文件)+unittest模块可以方便地进行数据驱动的测试,提高测试效率。
- 通过编写UI自动化测试脚本,可以自动化执行测试用例,减少人工测试的工作量,提高测试的准确性和效率。
原文地址: http://www.cveoy.top/t/topic/hDZQ 著作权归作者所有。请勿转载和采集!