目录
一、自动化测试相关概念
1.1、什么是自动化
-
自动化测试模拟之前需要人工在软件界面上的各种操作,并且自动验证其结果是否符合预期。
1.2、什么项目适合做自动化
-
需求文档,不会频繁变更
-
研发和维护周期长,需求频繁执行回归测试
-
需要在多平台上重复运行相同测试的场景
-
性能、兼容性通过手工测试无法实现或者手工测试成本太高
-
被测软件的开发较为规范,能够保证系统的可测试性
-
测试人员具备一定的编程能力
1.3、自动化测试用例的设计原则
-
自动化测试一般集中在需要重复测试的基本功能、基本业务流以及正向路径测试,不要将复杂的异常测试,复杂业务流程操作等加入到自动化测试用例中
-
自动化测试用例应尽量保持用例之间的独立性,最好不要形成依赖关系(比如登录与注册可以独立开,避免由于注册有问题,影响登录功能)
-
自动化测试如果对数据进行了修改,在测试结束后应该尽量保持还原,避免对其他用例执行产生影响
-
每个自动化测试用例只能验证一个功能点
1.4、Selenium webdriver优点?
-
开源免费自动化测试工具
-
多浏览器支持:Firefox,Chrome,IE,OPera
-
多平台支持:Linux,Windows,MAC
-
多语言支持:Java,Python,Ruby,php,C#,JavaScript
-
简单(API简单),灵活(用开发语言驱动)
1.5、webdriver的环境配置
通过pip install selenium安装最新的selenium
下载对应的chromedriver或者geckdriver,并将driver放到环境变量的路径中。
chromedriver下载镜像(chrome):
http://npm.taobao.org/mirrors/chromedriver/
geckodriver下载镜像(firefox)
http://npm.taobao.org/mirrors/geckodriver/
(1)、选择下载和浏览器同版本的镜像
(2)、将文件chrome的安装目录下(这个可放在任意目录),重要的是要将下载的镜像位置路径放在path环境变量中。
(3)、在编译器中的导入File-->Settings --->Project--->Project Interpreter--->点击“+”--->输入selenium
从代码中导入
from selenium import webdriver
1.6、关闭chrom更新
如果不小心点了帮助-关于chrome google,chrom就会自动更新,之前下载的镜像就不能使用,需要重新下载,为了避免麻烦,这里教大家怎么关闭chrom更新
1、计算机管理---》系统工具---》任务计划程序库 禁用关于Google程序的更新
2、在计算机管理---》服务和应用程序---》服务-----禁用chrom更新服务
二、元素定位简介
1、什么是元素定位?
通过代码调用的方法查找元素
2、元素定位方法?
-
id
-
name
-
class
-
tag_name
-
link_text
-
partial_link_text
-
xpath
-
css
3、步骤
-
打开浏览器
-
输入url
-
找元素定位输入
-
关闭浏览器
4、代码实现简单示例
//导入包
from selenium import webdriver
from time import sleep
//获取浏览器实例
driver = webdriver.Chrome()
//访问url
driver.get(url)
//定位id,并输入用户名,密码
driver.find_element_by_id("userA").send_keys("admin")
sleep(3)
driver.find_element_by_id("passwordA").send_keys("123456")
sleep(3)
//退出
driver.quit()
三、元素定位常用方法
测试样例网址:HTML PAGE(id,name,class,tag_name,link_test,partial_link_test实战用的这个网址)
测试资源样例下载:链接:https://pan.baidu.com/s/1mNurra61O_v8O1suMy3yyw 提取码:nz6c(其他实战用的这个)
1、id定位
id一般唯一
-
方法:driver.find_element_by_id(”id值“)
-
前置:标签必须要有id属性
-
输入方法:元素.sendkeys("内