1.selenium简介
官网:https://www.seleniumhq.org
2.selenium版本
- 1.X
支持selenium RemoteControl(RC)
- 2.X
支持selenium WebDriver
Selenium 1.0 + WebDriver = Selenium 2.0
- 3.X
Selenium 3.0+不再支持RC API
WebDriver核心API将作为一个接口,浏览器厂商将独立提供客户端驱动程序,如firefox只是使用geckodriver
支持Safari,通过Apple的Safari驱动(SafariDriver)
一些其他要求,如:最低JRE版本要求8.0
支持的IE版本>=9.0,重新支持Firefox47.0.1以及早期版本
3.selenium录制工具
录制工具对于刚入门的时候可以通过录制脚本进行学习,后续还是需要自己编写测试脚本
- Selenium IDE
firefox及chrome两个浏览器的插件,可以加载集成到浏览器中
- katalon
需要翻墙才能使用,并可以导出录制的测试脚本(同时支持各种语言)
https://chrome.google.com/webstore/category/extensions
相关使用可以进入官网:https://www.katalon.com/
4.Selenium生态
4.1 selenium Client
封装各语言的库
4.2 selenium server
中转服务
selenium使用的是javascript编写的,可使用cmd启动,命令为
java -jar selenium-server.jar
4.3 selenium WebDriver
- chromedriver下载地址
https://npm.taobao.org/mirrors/chromedriver/
- 火狐浏览器的Driver下载地址
https://github.com/mozilla/geckodriver/
- 注意事项
需要将geckodriver及chromedriver分别加入到环境变量path中,否则无法使用
4.4 selenium RemoteWebDriver
通过发送命令给远端Server来控制Browser
5.browser
1.FireFox Browser
- 驱动火狐浏览器
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://seleniumhq.org/')
2.Chrome Browser
- 驱动chrome浏览器
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Firefox()
browser.get('http://www.yahoo.com')
assert 'Yahoo' in browser.title
elem = browser.find_element_by_name('p') # Find the search box
elem.send_keys('seleniumhq' + Keys.RETURN)
browser.quit()