自动化测试selenium的安装和常用命令

                                                         自动化测试

一.分层的自动化测试的金字塔模型在这里插入图片描述

API是前端到后端的枢纽。
UI层的自动化测试工具非常多,比较主流的是QTP,Robot Framework、watir、selenium 等。
其中70%的投入为单元测试,20%为集成、接口测试,10% 为UI层的自动化测试。
分层测试的思想:每一层做自己的该做的事,把问题尽早的暴露出来。
a.适合自动化测试的场景:
1.测试任务明确,不会频繁变动;
2. 回归测试比较频繁;
3. 界面比较稳定;
4.有大量重复任务;
5. 软件的维护周期较长;
6. 项目进度方面的压力较小;
7. 测试人员具备较强的编程能力。
其中UI自动化测试的case并不是凭空出来的,而是之前的功能用例抽取了核心的测试场景。
b.常用自动化测试工具
1.QTP(Quick Test Pro)支持B/S,C/S架构,主要用于回归测试和同一软件的新版本测试(收费,用得少)
2.RF(Robot Framework)基于关键字的接口自动化
3.Selenium 是一个用于Web应用程序的开源测试工具,支持多浏览器(Chrome,Edge,Opera,Firefox,IE,Mozilla),多语言(Java,C#,Ruby,Python,Perl,C++),多平台(Linux,Windows,MAC)
Selenium的优点
开源、免费;多浏览器支持,多平台支持,多语言支持;对Web页面有良好的支持
二.Selenium 1.0 组成
在这里插入图片描述
Selenium IDE:Firefox浏览器中的一个小插件,实现浏览器操作的步骤的录制和回放
Selenium Grid:在多台机器和异构环境中运行测试用例
Client libraries:用来编写测试脚本,控制selenium server的库。(暴露API供调用)
Selenium server:负责控制浏览器的行为
Launcher:启动浏览器
Http Proxy:拦截你的请求
Core:加载JS来执行
Selenium Core就是一堆JavaScript函数的集合,即通过调用这些函数,我们才可以实现用程序对浏览器进行操作,嵌入到浏览器页面
launcher用于启动浏览器,把selenium core加载到浏览器页面中,并把浏览器的代理设置为selenium server的http poxy

三.Selenium 2.0 组成

Selenium 2.0=Selenium 1.0+WebDriver
SeleniumRC与WebDriver的区别
SeleniumRC是在浏览器中运行JavaScript应用,使用浏览器内置的JavaScript翻译器来翻译和执行selenese命令(selenese是selenium命令集合)。WebDriver是通过原生浏览器支持或者浏览器扩展来直接控制浏览器。
Selenium与WebDriver合并原因:WebDriver解决了selenium存在的缺点和问题;合并项目是为用户提供最优秀框架的最佳途径。

四.线下安装selenium
Windows+R打开运行界面输入cmd,切换到selenium安装包的盘,cd空格切换到selenium安装包的路径下,接着输入python setup.py install
selenium webdriver元素定位的七种方式
(1)通过id定位
(2)通过name定位
(3)通过class_name定位
(4)通过link_text(点击文字)定位
(5)通过partial_link_text(点击部分文字)定位
(6)通过xpath绝对/相对路径定位
(7)通过css绝对/相对路径定位
Ps:class值有空格的话,不能用class定位;一般采用id来定位。

from selenium import webdriver (从selenium中导入webdriver)
driver=webdriver.Firefox() (把webdriver的Firefox赋给driver)
driver.get(‘https://www.baidu.com’) (打开百度浏览器)

通过id定位输入框
在这里插入图片描述

通过name定位输入框
在这里插入图片描述
通过class_name定位输入框
在这里插入图片描述
通过link_text(点击文字)定位[必须是百度界面可点击的文字]
在这里插入图片描述
通过partial_link_text(点击部分文字)定位[必须是百度界面可点击的文字]
在这里插入图片描述
通过xpath绝对路径定位输入框
在这里插入图片描述
通过xpath相对路径定位输入框
在这里插入图片描述
通过css绝对/相对路径定位,一般不采用绝对对路径,其中路径之间用空格或者‘>’
(1)通过id定位输入框,其中#代表的是id;
在这里插入图片描述
input#kw,其中加input是为了让定位更准确
在这里插入图片描述
(2)通过class定位输入框,其中“.”代表的是class;
在这里插入图片描述
回退,前进,停留5秒,刷新
在这里插入图片描述
设置浏览器的大小
在这里插入图片描述
浏览器全屏
在这里插入图片描述
清除输入框的内容
在这里插入图片描述
查看定位框的尺寸
在这里插入图片描述

获取选定位置文本内容(不能被点击的文字)
在这里插入图片描述
获得属性值,括号里写需要查询的属性名,用print()打印结果
在这里插入图片描述
验证百度搜索框是不是正常显示,一般值是true或者false,后面可以调用if语句
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值