前提
我们在进行UI自动化测试时,一般采用java+selenium或者python+selenium的方式。由于python比较简单,上手快,因此建议大家采用python+selenium的方式来进行UI自动化。
1、安装pycharm
PyCharm是一种Python IDE(Integrated Development Environment,集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。
2、安装python环境
下载python 官网https://www.python.org下载安装包.exe,安装,并添加环境变量,具体可以自行百度。
新建项目
打开pycharm,在左上角File选择new project
在根目录上右键,新建一个python file,并命名。
安装selenium
Selenium 是一个用于Web 应用程序的自动化测试工具。
左上角File-settings-project:项目名-project interpreter,点击+,搜索selenium,点击install package,安装成功后,点击确定。
![](https://img-blog.csdnimg.cn/img_convert/b1609d3de18ee0a7f496cb1e4aef3981.png
安装驱动
Selenium无法直接操作浏览器,而是通过各个浏览器厂商提供的浏览器驱动来操作浏览器。
首先查看自己所使用浏览器的版本,百度搜索对应浏览器版本的驱动下载地址,如谷歌浏览器驱动:http://chromedriver.storage.googleapis.com/index.html 找到对应的版本进行下载,需要和浏览器版本一致(前三个位即可)。
下载解压,将驱动放置python安装路径下。
开始第一个脚本
from selenium import webdriver
from selenium.webdriver.common.by import By
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
driver.find_element(By.ID,'kw').send_keys('selenium')
driver.find_element(By.ID,'su').click()
driver.quit()
在test.py文件中输入如上代码,点击运行按钮。
执行效果为自动打开谷歌浏览器,打开百度首页,在百度搜索输入框输入selenium,点击百度一下按钮,然后关闭浏览器。
脚本解析
导包
selenium实际是一个包,如下图结构,下面有common包和webdriver包。
在使用包下面的类或者函数之前,需要先导入。
第一行我们从selenium中导入了整个webdriver包,用来支持新建浏览器实例。
第二行我们导入了selenium包下的webdriver包下的common包下的by文件中的By类。用来支持以By.的方式定位元素。
浏览器实例
driver=webdriver.Chrome()
实例化Chrome类,生成一个谷歌浏览器的实例,后续我们用这个实例来进行浏览器操作。
同样,如果要驱动火狐浏览器,
driver=webdriver.Firefox()
驱动edge浏览器,
driver=webdriver.Edge()
前提是已安装对应的驱动。
访问url
driver.get('http://www.baidu.com')
通过实例的get方法,输入url作为参数,这个实例就能打开百度的网址
定位元素
想要让程序操作页面元素,我们需要知道要操作的元素是哪个,就需要对元素进行定位。
可以看文章了解元素定位方式。
这里用的就是通过id的方式进行定位,它的返回值是一个WebElement类型,即网页元素。
driver.find_element(By.ID,'kw')
元素操作
当对元素定位后,我们就可以对元素进行操作了。想一想我们在做手工测试的时候,会对元素做什么操作?
我们可以给一个文本框输入值,可以点击一个按钮,
driver.find_element(By.ID,'kw').send_keys('selenium')
send_keys()方法,可以给元素输入值
driver.find_element(By.ID,'su').click()
click()方法,用来点击元素。
另外,我们还可以清空元素的值。
driver.find_element(By.ID,'kw').clear()
当然还有其他元素操作的方法。我们也可以先获取到元素,再调用方法,如
ele=driver.find_element(By.ID,'kw')
ele.send_keys('selenium')
关闭浏览器
driver.quit()
调用实例的quit()方法来关闭浏览器。
总结
本文介绍了UI自动化测试入门的第一个测试脚本,并对脚本内容进行了详细的解析,看完此文,相信没有UI自动化基础的同学,也能够开始UI自动化测试用例的编写了!
欢迎交流,拜拜。