2024.02.25
什么是UI自动化测试?
1、通过自动化测试工具或其他手段代替手工测试
2、按照测试人员的计划(测试用例),执行测试
3、目的是减轻手工测试的工作量
简单来说,就是用代码模仿手工操作
UI自动化有哪些注意的点?
1、UI的文本
2、交互逻辑的正确性
3、UI上用户行为的正确性
UI自动化的难点
对比手工测试
1、难以发现非预期的bug
2、UI的复杂多变带来巨大的成本
3、UI的测试用例,多关于用户交互方面的
什么是selenium?
web测试工具,运行在浏览器当中,像真正的用户在手工操作一样;支持主流的浏览器,其功能包括:
1、浏览器的兼容性
2、创建回归测试
什么是webdriver?
对浏览器提供的原生API进行封装,用这套api可以操作浏览器
selenium是python的一个库,通过python代码去操作webdriver,进而去操作浏览器
ui自动化操作流程
1、选择界面元素
根据元素特征进行选择:ID、Name、Class、TagName等
根据元素的特征及关系:css、xpath
# 根据id属性定位元素,找到文本输入框
ele = driver.find_element_by_id("kw")
# 根据name属性定位元素
ele = driver.find_element_by_name("name属性值")
# 根据链接文本定位元素
ele = driver.find_element_by_link_text("连接文本")
# 根据标签进行定位
ele = driver.find_element_by_tag_name("span")
# 根据class属性进行定位
ele = driver.find_element_by_class_name("class属性")
# 根据xpath进行定位
ele = driver.find_element_by_xpath("绝对路径")
# 根据css表达式定位
ele = driver.find_element_by_css_selector("css定位")
2、操作界面元素
输入操作:点击、输入文字、拖拽元素
输出操作:获取元素的各种属性
元素定位注意事项
1、当你想要操作某个确定的元素的时候, 一定保持自己的表达式唯一定位
2、当你需要操作一组元素的时候,你必须保证自己的表达式
a,能匹配到所有想要操作的元素
b,不会匹配到任何其他不想操作的元素
selenium没有给我们提供判断元素是否存在的方法,所以我们可以用匹配元素列表的方式判断,先根据表达式匹配元素列表,然后判断列表是否为空,若列表为空,则元素不存在;若列表不为空,则元素存在