Selenium使用(Python)

小编使用Selenium、PO模式写的UI自动化测试框架可供参考地址
https://github.com/fengyibo963/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自动化

  1. 在实现登录之前我们需要先from selenium import webdriver,这步是为了导入webdriver
  2. browser = webdriver.Chrome()创建浏览器的实例
  3. 使用webdriver自带的方法,browser.get(http://172.16.0.57:30002/login),打开我们想要登录的网站
  4. 如何进行元素定位,比较简单方便的方法是,右击检查定位到元素所在前端代码位置,然后右击选择"copy XPath"(或copy selector),也可以通过语法自己编写元素的位置,这样虽然麻烦,但是稳定性强
  5. 进入我们要登录的网站后,使用browser.find_element_by_xpath().send_keys(),xpath可以被css_selector、id等方法替换,xpath后面的括号内容输入"对应元素的xpath",send_keys括号中输入想输入的内容。
  6. 使用第四步的方法,输入帐号、密码,然后使用browser.find_element_by_xpath().click()方法,click()相当于一个点击行为,这个步骤就是为了点击登录按钮
  7. 所以对于登录的三个步骤应当是这样的:
    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()
发布了80 篇原创文章 · 获赞 20 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/baidu_36943075/article/details/104020842
今日推荐