小编使用Selenium、PO模式写的UI自动化测试框架可供参考地址
https://github.com/Mrfenghaha/DemoUITest
介绍
Selenium是一个用于Web应用程序测试的工具。
框架底层使用JavaScript模拟真实用户对浏览器进行操作,直接在浏览器中运行,就像真实用户所做的一样。
最初是由ThoughtWorks的Jason R. Huggins和他的团队开发开源出来的
组件:
- Selenium IDE
Firefox插件,可以录制用户的基本操作,生成测试用例。 - Selenium WebDriver(Selenium 2、Selenium 3)
提供了各种语言环境的API来支持更多控制权和编写符合标准软件开发实践的应用程序(Java\C#\PHP\Python\Perl\Rudy\JavaScript\C++等) - Selenium Grid
实现分布式自动化,可以在多个(不同)测试环境中以并发式执行测试脚本,实现测试脚本的并发执行,缩短了大量的执行时间
使用(Python3)
安装
Python3环境自行安装,不在此处讲解(Ubuntu自带Python3.5)
pip3 install selenium
验证安装成功
pip3 show selenium
下载浏览器驱动
selenium需要使用浏览器驱动,根据不同的浏览器下载相应的驱动即可
例如Chrome浏览器需要下载ChromeDriver驱动(注意下载对应版本的驱动),并放置指定位置
驱动下载地址1:http://npm.taobao.org/mirrors/chromedriver/
驱动下载地址2:http://chromedriver.storage.googleapis.com/index.html
Ubuntu
sudo mv chromedriver /usr/bin/chromedriver
Mac
sudo mv chromedriver /usr/local/bin
Windows
放在python安装路径的Scripts/文件下
例如C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Scripts
实现简单UI自动化
- 在实现登录之前我们需要先from selenium import webdriver,这步是为了导入webdriver
- browser = webdriver.Chrome()创建浏览器的实例
- 使用webdriver自带的方法,browser.get(http://172.16.0.57:30002/login),打开我们想要登录的网站
- 如何进行元素定位,比较简单方便的方法是,右击检查定位到元素所在前端代码位置,然后右击选择"copy XPath"(或copy selector),也可以通过语法自己编写元素的位置,这样虽然麻烦,但是稳定性强
- 进入我们要登录的网站后,使用browser.find_element_by_xpath().send_keys(),xpath可以被css_selector、id等方法替换,xpath后面的括号内容输入"对应元素的xpath",send_keys括号中输入想输入的内容。
- 使用第四步的方法,输入帐号、密码,然后使用browser.find_element_by_xpath().click()方法,click()相当于一个点击行为,这个步骤就是为了点击登录按钮
- 所以对于登录的三个步骤应当是这样的:
browser.find_element_by_xpath(“帐号用户名的xpath元素定位”).send_keys(“帐号用户名”)
browser.find_element_by_xpath(“帐号密码的xpath元素定位”).send_keys(“帐号密码”)
browser.find_element_by_xpath(“登录按钮的元素定位”).click()
如此一来就可以实现一个简单的登录功能的UI自动化
browser = webdriver.Chrome()
browser.get(http://172.16.0.57:30002/login)
browser.find_element_by_xpath("帐号用户名的xpath元素定位").send_keys("帐号用户名")
browser.find_element_by_xpath("帐号密码的xpath元素定位").send_keys("帐号密码")
browser.find_element_by_xpath("登录按钮的元素定位").click()