
Web自动化测试
Web自动化测试
一醉南柯
这个作者很懒,什么都没留下…
展开
-
超实用的自动化测试平台推荐
1、自动化测试平台 Phoenix Framework授权协议:GBL开发语言:Java JavaScript操作系统:跨平台平台官网:http://www.cewan.la环境搭建及使用说明书:http://my.oschina.net/u/2391658/blog/706055功能简介:phoenixframework是一个支持对webUI,接口,web性能,mobile app或mobile browser进行自动化测试和监控的平台。(1)集代码管理,分机(node节点)管理,定时任务,转载 2020-08-27 11:32:51 · 8940 阅读 · 0 评论 -
selenium+testng+testng-xslt-1.1.2之报告完善
后在使用testNG自动化框架执行测试用例后,会自动生成HTML的测试报告,但是过于简单,信息展示极少,也没有图表说明,所有我们使用testNG-xslt进行美化。环境:IDEA一、首先创建一个testng项目,然后点击工具条中Run,选择EditConfigurations,弹出运行配置对话框;左边选择你需要产生报告的test,右边点击Listeners,勾选Use default r...转载 2020-03-03 10:51:49 · 387 阅读 · 0 评论 -
如何用 testNG 生成测试报告
总结一下testNG生成报告的三种方式,基本都是我直接转载的,没有补充就不说了,有补充的我会加以说明的(这里直说生成报告,不说怎么写测试用例的事儿)第一种:生成原始报告http://www.cnblogs.com/TankXiao/p/3888070.html这里的xml用最简单版本的即可,如下:<?xml version="1.0" encoding="UTF-8"?>...转载 2020-03-03 10:37:25 · 2547 阅读 · 0 评论 -
单元测试框架unittest的使用
unittest单元测试框架总结 unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果。今天笔者就总结下如何使用unittest单元测试框架来进行WEB自动化测试。目录一、unittest模块的各个属性说明 二、使用unittest框架编...转载 2019-11-17 21:52:40 · 287 阅读 · 0 评论 -
Selenium APL的简单封装
说明:学到这里,我们发现selenium的api有很多,我们如果全部记忆太过复杂,很多时候我们可以把常用的操作进行简单封装。1、函数封装:是一种函数的功能,它把一个程序员写的一个或者多个功能通过函数、类的方式封装起来,对外只提供一个简单的函数接口。2、对selenium的常用操作进行封装封装开启关闭浏览器 封装定位操作 封装对元素的基本操作3、 代码如下:from tim...原创 2019-11-17 11:53:26 · 352 阅读 · 0 评论 -
Selenium对cookie的操作
一、cookie介绍1、cookie是由web服务器生成的,并且保存在用户浏览器上的小文本文件,它可以包含用户相关的信息。2、cookie数据格式:键值对组成(Python中的字典)。3、cookie产生:客户端请求服务器,如果服务器需要记录该用户状态,就向客户浏览器颁发一个cookie数据。4、cookie的使用:当浏览器再次请求该网站时,浏览器把请求的数据和cookie数据一同...原创 2019-11-16 21:48:28 · 3657 阅读 · 0 评论 -
Selenium验证码处理
Selenium验证码处理1、验证码:一种随机生成信息(文字、数字、图片)。2、验证码作用:防止恶意请求。3、验证码处理方式:去掉验证码(测试环境下使用) 设置万能验证码(测试环境或线上环境下) 使用验证码识别技术(识别率低) 使用cookie解决(推荐)...原创 2019-11-15 22:03:23 · 491 阅读 · 0 评论 -
Selenium截屏
1、应用场景:失败的截图,让错误看的更直观。2、方法:driver.get_screenshot_as_file(imgepath)3、参数:imagepath:为图片要保存的目录地址及文件名称 如:当前目录:./test.png 上级目录:../test.png4、扩展:多条用例执行失败,会产生多张图片,可以采用时间戳的形式,进行区分。...原创 2019-11-15 12:16:55 · 348 阅读 · 0 评论 -
Selenium多窗口切换
一、切换多窗口的原因:页面存在多个窗口,selenium默认焦点只会在主窗口上所有的元素,不切换窗口,无法操作除主窗口意外的窗口内元素。二、如何切换?思路:获取要切换的窗口句柄,调用切换方法进行切换。方法:driver.current_window_handle #获取当前主窗口句柄 driver.window_handles #获取当前由driver启动所有窗口句柄 ...原创 2019-11-14 22:39:45 · 1074 阅读 · 0 评论 -
Selenium切换frame表单
提示:常用的frame表单有两种:frame、iframe。1、切换的原因:当前主目录内没有iframe表单页面元素信息,不切换,找不到元素。2、切换的方法:driver.switch_to.frame("id\name\element")3、切换回主目录原因:iframe或frame只有在主目录才有相关元素信息,不回到主目录,切换语句会报错。4、回到主目录方法:driver.sw...原创 2019-11-13 22:30:18 · 596 阅读 · 0 评论 -
Selenium滚动条操作
Selenium滚动条操作1、操作滚动条原因:在web自动化中有些特殊场景,如:滚动条拉到页面最底层,指定按钮才可用。2、操作方法 第一步:设置操作滚动条操作语句 如:js="window.scrollTo(0,10000)" 0:左边距 ---->水平滚动条 10000:上边距--...原创 2019-11-13 21:16:29 · 1906 阅读 · 0 评论 -
Selenium警告框处理
1、处理警告框的原因:如果页面有弹出框,不处理,接下来的将不生效。2、对话框类型:alert #警告框 confirm #确认框 prompt #提示框3、处理方法:以上三种对话框,处理方法都一样。步骤:(1)切换到对话框,方法:driver.switch_to.alert(2)处理对话框 alert.text #获取文本 ...原创 2019-11-12 22:45:04 · 1592 阅读 · 0 评论 -
Selenium对下拉选择框元素的两种操作
说明:下拉选择框就是HTML中select标签这里使用Selenium中两种方式对下拉选择框中元素进行选择操作:css定位操作(其他定位也可以)、select类。需求:使用本地只含有select标签下拉选择框,默认选择是北京A,暂停2秒,定位上海A,暂停2秒,定位广州A。方式一、css定位操作方式from selenium import webdriverfrom time i...原创 2019-11-11 23:01:17 · 2769 阅读 · 0 评论 -
Selenium元素等待
一、为什么要使用元素等待?原因:由于电脑配置或者网络原因,在查找元素时,元素代码未在第一时间内被加载出来,而抛出未能找到元素的异常。二、什么是元素等待?元素在第一次未找到时,元素等待设置的时长被激活,如果在设置的有效时长内找到元素,继续执行代码,如果超出设置的时长未找到元素,抛出未找到元素异常。三、元素等待分类隐式等待:全局元素有效 显示等待:单个元素有效四、隐式等待1...原创 2019-11-10 12:16:37 · 298 阅读 · 0 评论 -
Selenium键盘操作
一、说明:模拟键盘上一些按钮或者组合键的输入,如:Ctrl+c,Ctrl+v; selenium中把键盘的按键都封装在Keys类中。二、Keys类导包:from selenium.webdriver.common.keys import Keys三、常用的键盘操作send_keys(Keys.BACK_SPACE) 删除键(Backspace) send_keys...原创 2019-11-09 22:56:32 · 1432 阅读 · 0 评论 -
Selenium鼠标操作
Selenium鼠标操作一、为什么使用鼠标操作为了满足丰富的HTML鼠标效果,必须使用对应的方法。二、鼠标事件对应的方法需要导入的类ActionChains类---->导包:from selenium.webdriver.common.action_chains import ActionChains三、鼠标事件常用的操作方法context_click() ...原创 2019-11-09 22:25:02 · 204 阅读 · 0 评论 -
Selenium获取元素信息
Selenium获取元素信息一、为什么要学习获取元素信息的方法?如何获取元素的文本? 如何获取元素属性值? 如何让程序判断元素是否为可见状态?要想解决以上问题,需要学习Selenium封装的获取元素信息的方法。二、获取元素信息的常用方法size 返回元素大小 text 获取元素的文本 get_attribute("xxx") ...原创 2019-11-08 21:40:40 · 592 阅读 · 0 评论 -
Selenium调用API来实现对浏览器的操作
Selenium调用API操作浏览器常用方法maximize_window():最大化浏览器窗口--->模拟浏览器最大化按钮 set_window_size(width,height):设置浏览器窗口大小--->设置浏览器宽、高(像素点) set_window_position(x,y):设置浏览器窗口位置 back():后退--->模拟浏览器后退按钮 forward...原创 2019-11-07 22:55:50 · 991 阅读 · 0 评论 -
Selenium元素操作
一、为什么要学习操作 元素的方法需要让脚本模拟用户给指定元素输入值 需要让脚本模拟人为删除元素的内容 需要让脚本模拟点击操作二、元素常用操作方法click() :单击元素 send_key(value):模拟输入 clear():清除文本案例代码如下:#元素常用操作,这里使用百度搜索界面from selenium import webdriverfrom time...原创 2019-11-06 23:08:22 · 229 阅读 · 0 评论 -
Selenium定位一组元素和八种元素定位的底层实现
一、定位一组元素方法:driver.find_element_by_xxx()返回结果:类型为列表,要对列表进行访问和操作必须指定下标或进行遍历:[下标从0开始]二、扩展8种元素定位的底层实现方法:driver.find_element(By.xxx,'value')参数说明:By.xxx:为By类的类型,如:By.ID value:元素的定位值,如:“nam...原创 2019-11-06 22:10:42 · 346 阅读 · 0 评论 -
Selenium之css定位方式
Selenium之css定位方式一、说明:css是一种标记语言,焦点:数据的样式。控制元素的显示样式,就必须先找到元素,在css标记语言中找元素使用css选择器 css定位就是通过css选择器工具进行定位的 极力推荐使用css,css查找效率高,语法简单二、语法:driver.find_element_by_css_selector()三、常用策略1、id选择器 ...原创 2019-11-04 22:47:16 · 795 阅读 · 0 评论 -
Selenium定位方式之Xpath
1、使用Xpath或css定位原因:id、name、class:依赖于元素这三个对应的属性,如果元素没有以上三种属性,定位不能使用 link_text、partial_link_text:只适合超链接 tag_name:只能找页面唯一元素,或者页面中多个相同元素中的第一个元素2、Xpath简介Xpath即为XML Path的简称,它是一门在XML文档中查找元素信息的语言。 HTML...原创 2019-11-01 22:50:57 · 714 阅读 · 0 评论 -
Selenium之link_text和partial_link_text定位
一、link_text定位1、说明:定位超链接标签2、方法:driver=find_element_by_link_text("文本")3、注意:link_text:只能使用精准的匹配(a标签的全部文本内容)4、案例:获取hao123网站的12306超链接位置,并点击超链接代码如下:from selenium import webdriverfrom time i...原创 2019-10-31 22:28:32 · 20806 阅读 · 0 评论 -
Selenium之tag_name定位
tag_name元素定位方式1、说明:tag_name是通过标签名称来定位的,如<a>:a标签。2、方法:driver.find_element_by_tag_name("标签名")3、注意:如果页面中存在多个相同的标签,默认返回第一个标签元素。4、案例:打开优设导航的百度搜索界面,完成以下操作:使用tag_name定位,百度搜索框中输入:优设导航的百度搜索...原创 2019-10-31 21:49:52 · 12337 阅读 · 0 评论 -
selenium之name和class_name定位
一、name定位1、说明:name定位就是根据元素name属性来定位(前提是有name属性)2、name定位方法:element=driver.find_element_by_name(name)3、案例:打开Iconfont的登录界面,完成以下操作:使用name定位,输入用户名:admin 使用name定位,输入密码:124132432 10秒后关闭浏览器窗口代码如下...原创 2019-10-30 22:50:38 · 11257 阅读 · 0 评论 -
Selenium之id定位
Selenium的id定位方式一、说明:通过元素的id属性定位,id一般情况下在当前页面中是唯一的。元素定位方法:driver.find_element_by_id(id)提示:元素必须有id属性。二、案例: 打开pixabay的登录界面,完成以下操作:使用id定位,输入用户名:admin 使用id定位,输入密码:124132432 10秒后关闭浏览器窗口代码如...原创 2019-10-29 22:59:48 · 3956 阅读 · 0 评论 -
浏览器驱动driver环境配置
这里只介绍谷歌浏览器Chromedriver的环境配置。1、下载浏览器驱动:http://chromedriver.storage.googleapis.com/index.html(与浏览器版本相对应)2、下载后得到的是一个chromedriver.exe文件,将chromedriver.exe拷贝至谷歌浏览器目录(如 C:\Program Files\Google\Chrome\A...原创 2019-10-29 11:03:15 · 2829 阅读 · 2 评论 -
解决 FileNotFoundError: [WinError 2] 系统找不到指定的文件
模拟网页登录:from selenium import webdriverdriver=webdriver.Chrome()报错:Traceback (most recent call last): File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\sel...原创 2019-10-29 10:54:02 · 25943 阅读 · 11 评论 -
Selenium元素定位
一、使用元素定位的原因要使用web自动化操作元素,必须首先找到此元素。二、定位工具火狐:Firebug(F12获取直接点击Firebug图标)谷歌:F12键三、定位元素时依赖于什么?标签名 属性名 层级 路径四、定位方式id name class_name(使用元素的class属性定位) teg_name(标签名称<标签名 ...../>) ...原创 2019-10-27 22:34:46 · 215 阅读 · 0 评论 -
Web自动化测试工具Selenium
一、主流自动化工具QTP:收费、支持web和桌面软件自动化 Selenium:免费、开源、只支持web项目 Robot Framework:基于Python扩展关键字驱动自动化工具,2014年停更二、什么是selenium?答:一个web自动化测试工具,中文意思是:硒。三、selenium特点开源、免费 跨平台(Linux、Windows、Mac) 支持多浏览器:谷歌、火...原创 2019-10-25 22:05:20 · 767 阅读 · 0 评论 -
Web自动化测试
Web自动化测试概念:让程序代替人为对web项目进行功能验证过程。什么web项目适合自动化?需求变动不频繁 需求回归测试项目 项目周期长web自动化所属分类:黑盒测试 灰盒测试 白盒测试提示:以上分类为站在代码可见度上划分 web自动化测试属于黑盒测试...原创 2019-10-24 22:51:02 · 205 阅读 · 0 评论 -
自动化测试介绍
自动化测试说明:让程序或工具代替人为对程序功能验证的过程。解决的问题有:回归测试(重点) 压力测试 兼容性(浏览器、分辨率、操作系统) 提高测试效率优点:在最短时间内运行最多的bug 脚本重复运行 减少人为的错误 克服手工测试局限性(如:图片大小)误区:自动化测试比手工测试厉害 自动化测试比手工测试发现更多的bug 自动化测试可以完全替代手工测试 软件所有...原创 2019-10-24 22:12:07 · 316 阅读 · 0 评论