WebDriver API
入门Selecium自动化测试要学习两块内容:
1、unittest
2、WebDriver API
WebDriver属于Selenium体系中设计出俩的操作浏览器的一套API
站在webdriver的角度,它针对多种编程语言都实现了一套API,所以它支持多种编程语言;
站在编程语言的角度,webdriver是python的一个用于实现web自动化的第三方库。
API:简单来理解,是预先定义好的类、方法、属性等,它们可供我们调用,用来实现特定目的
WebDriver根据网页中页面元素用户有不同的标签名和属性值等特性来定位不同的页面元素,并完成对已定位的页面元素的各种操作
自动化测试要做的事情就是模拟鼠标和键盘操作页面元素:元素定位+操作元素
元素定位的基础知识:
网页文本的结构具有的特性:
1)它们由标签对所组成
2)标签可以有各种属性
3)标签队之间可以有文本数据
4)标签之间有层级关系
四步操作:
1.获取元素,定位最难;
2.操作元素,键盘:send_keys(),鼠标:click();
3.获取返回结果;
4.断言,判断返回结果与期望结果是否一致,最后自动出测试报告。
元素定位在这四个环节中是至关重要的,如果说按学习精力分配的话,元素定
位占 70%,操作元素 10%,获取返回结果 10%,断言 10%。如果一个页面上
的元素不能被定位到,那后面的操作就无法继续了。
一、元素定位
元素的定位方式:
selenium 提供了八种定位元素的方式:
1.id 定位 方法为:find_element_by_id()
2.name 定位 方法为:find_element_by_name()
3.class 定位 方法为:find_element_by_class_name()
一般来讲:id 唯一不重复,name 和 class 可能重复,所以可能失败。
4.link 定位 (如 a 标签的 herf 属性) 方法为:find_element_by_link_text()
5.partial_link 定位 (超链接字符串很长时使用模糊匹配方式)
方法为:find_element_by_partial_link_text()
6.tag 定位 方法为:find_element_by_tag_name()
HTML 是通过 tag 来定义功能的,比如 input 是输入,table 是表格