1.什么是selenium?
Selenium是一款主要用于Web应用程序自动化测试的工具集合。本质是通过驱动浏览器,自动化地模拟用户对网页进行的各种操作,如点击按钮、输入文本、导航链接等;支持多种编程语言,包括Python、 Java、Ruby 和 JavaScript,可以用来创建测试脚本可支持多种浏览器如,chorme,FireFox,IE等。
2.selenium的工作原理:
其实跟平时测试过程中接触到的请求是差不多的,也是分为客户端和服务端,客户端(python等语言编写的自动化测试脚本)按照服务端接口要求传入请求方式、请求url和请求数据(selenium实际已封装好各种操作接口的请求函数,只需通过指定的方法传入数据即可,如get、click、find_element实际都是封装了整个http请求过程的方法;即测试人员仅需根据功能需求调用对应的方法并传参即可,最终由selenium组装);运行python脚本,然后发送http请求,通过Webdriver(selenium中的一部分)启动浏览器驱动程序chromedriver.exe,浏览器驱动程序解析请求,打开浏览器,浏览器通过请求的内容执行对应动作,再把执行的动作结果通过浏览器驱动程序返回给测试脚本。
3.Selenium自动化工具:
Selenium实现自动化测试,主要需要3个东西:
1.测试脚本,可以是python,java编写的脚本程序(也可以叫做client端)
2.浏览器驱动, 这个驱动是根据不同的浏览器开发的,不同的浏览器使用不同的webdriver驱动程序且需要对应相应的浏览器版本,比如:Chromedriver.exe(chrome)
3.浏览器,目前selenium支持市面上大多数浏览器,如:火狐,谷歌,IE等
4.Selenium主要工具组件:
Selenium WebDriver:是 Selenium 的核心库,用于编写测试脚本,提供了编程接口(用于操作浏览器的一套API)来模拟用户的浏览器操作;可支持多种语言;支持各类型浏览器,跨操作系统。
Selenium IDE:是嵌入到FireFox浏览器的插件,用于在Firefox上录制和回放Selenium脚本,虽然只能在Firefox下使用,但它能将录制好的脚本转换成各种Selenium WebDriver支持的程序语言,进而扩展到更广泛的浏览器类型;录制生成的脚本是线性模型脚本。
Selenium Grid:Selenium套件中的一个工具,允许在不同的机器上并行运行多个测试用例(同时在不同的浏览器、操作系统和机器上运行测试的时候会用到)