web自动化测试
文章平均质量分 84
conlin233
这个作者很懒,什么都没留下…
展开
-
当元素用通常方法操作不了的时候--坑向
日历/时间选择框通常在input标签进行,比如直接在输入框中填入数据,或者修改日期选项等可以用js修改元素的value值但是当日期标签有 readonly属性的时候,表示只读,不能修改元素,如果修改之后,点击其他元素或者其他操作将会清空日期这时候需要添加一步操作,使用el.removeAttribute('readonly'),把只读属性去除然后像普通输入框一样用el.send_keys(words)填入日期(要符合格式)下拉选项可以先找到选择框进行点击,再点击里面的..原创 2021-12-20 13:48:14 · 185 阅读 · 0 评论 -
提升之路--从0开始学web自动化(11)--关键字驱动&登录cookie保存&重运行&并发用例&selenium原理
selenium原理架构层面pthon调用selenium的方法向驱动发送请求,驱动转换成js代码发送给浏览器,浏览器执行代码,进行操作python(任何编程语言) ---发送http请求--> chromedriver.exe ---js代码--> 浏览器源码层面初始化浏览器Chrome():-通过Popen(驱动路径)方法,自动运行命令行,启动chromedriver.exe本地服务-通过远程连接RemoteConection 初始化很多接口地址和请...原创 2021-12-15 17:22:56 · 1096 阅读 · 0 评论 -
提升之路--从0开始学web自动化(10)--allure&jenkins主从模式的持续集成
allure的使用安装:-安装包,allure-command-line,运行报告服务下载安装包,然后配置环境变量-allure python包, pip install allure-pytest使用allure获得测试报告-在一个用例上面做一个标记-运行标记的用例main函数里面有多个参数的时候,需要分开传入,如,'-m','标记用例','生成报告路径'-运行全部用例用例筛选参照--进阶之路--从0开始学接口测试(11)--pyte...原创 2021-12-14 14:37:22 · 1230 阅读 · 0 评论 -
提升之路--从0开始学web自动化(9)--元素定位表达式隔离&复杂用例设计
元素定位表达式隔离web/ui自动化测试的特征-效率慢-不稳定:-元素定位不稳定-前端界面经常发生变化,造成元素定位表达式变化当前端页面的元素发生变化,在po页面对象里面多次使用该元素的时候,修改起来不方便,有可能遗漏元素定位表达式隔离的好处:-前端界面发生变化之后,测试人员可以比较方便对相应的元素进行修改-进一步增加分层设计方式1:...原创 2021-12-11 10:47:53 · 1221 阅读 · 0 评论 -
提升之路--从0开始学web自动化(8)--深入分层&数据驱动&断言
po封装的原则遵循原则的话会达到更好的效果-页面封装里不应该包含断言或者测试操作,不然就做不到页面操作和测试操作分离-唯一可以操作页面中的测试是判断一个元素是否能找到-不需要封装所有页面操作,用到什么就封装什么-页面封装也可以使用组建方式.比如导航栏,侧边栏等在多个页面重复出现的,也可以封装成一个组件类,页面使用的时候只需要继承这个组件的类-当一个操作引发不同的效果,应该使用多个自动化测试用例函数,比如login_failed,login_success如登录页面操作:当原创 2021-12-09 14:46:27 · 681 阅读 · 0 评论 -
提升之路--从0开始学web自动化(7)--ui自动化框架搭建&PO模式
ui自动化测试在整个测试过程中占据的地位在一个项目的测试中手工测试(60%)/自动化测试(40%),不同公司的定义不同.总体是手工占大部分而自动化测试中,接口自动化占据70%ui自动化测试优先实现正向用例,回归测试时候跑一下流程ui测试的特征-界面修改频繁,-界面需求变动大-运行速度慢(浏览器打开速度慢,页面加载速度慢,页面操作动画)-界面稳定性差-界面排班不方便做自动化(像素点移动)ui自动化测试流程(课堂派)-需求分析主要功能特性.原创 2021-12-06 17:00:05 · 1187 阅读 · 0 评论 -
提升之路--从0开始学web自动化(6)--使用js对页面进行操作(滚动页面,修改属性)&文件上传
JavaScript是一个前端编程语言负责页面的动作,跳转等动态化效果所有浏览器都内置安装javascript的运行环境基本语法-打印console.log('conlin')-定义变量var name = 'conlin'console.log(name)-使用控制流语句var age = 18if (age > 18) {console.log("成年")} else {console.log("未成年")}与python不同的是原创 2021-12-02 15:19:54 · 1019 阅读 · 1 评论 -
提升之路--从0开始学web自动化(5)--鼠标,键盘对页面元素操作
鼠标1,从selenium.webdriver导入Actionchains类from selenium.webdriver import ActionChains2,从Actionchains类生成对象,参数输入浏览器对象mouse = ActionChains(browser)3,找到鼠标需要使用的元素,进行鼠标操作setting = browser.find_element(By.XPATH, '//*[@id="s-usersetting-top"]')Actio原创 2021-11-30 15:08:51 · 1216 阅读 · 0 评论 -
提升之路--从0开始学web自动化(4)--selenium二次封装和切换
css介绍Webside = html+css+javascriptXpath VS css-css整体上比xpath 表达更简洁-css查找速度比xpath更快-xpath功能比css强,可以从内往外查找-css不支持通过文本查找元素css 选择器css 选择器基本语法id属性: 标签#属性值Xpath: //input[@id = “kw”]Css : input#kwClass属性: 标签.属性名Xpath: //input[@cla原创 2021-11-27 11:06:43 · 1433 阅读 · 1 评论 -
提升之路--从0开始学web自动化(3)--xpath元素定位&等待
为什么要使用xpath当元素没有id name属性,通过class,tagname找到的不是唯一的,而link_text和partial_link_text只能用在a标签使用xpath可以组合多个条件进行筛选,也可以根据元素之间的层级关系进行查找绝对路径和相对路径/绝对路径(不用)//相对路径相对路径xpath表达式//相对路径*表示任意的标签名称 //input 表示标签是input[]条件 //input[@id=”kw”] 表示要在input标签...原创 2021-11-24 15:56:46 · 875 阅读 · 0 评论 -
提升之路--从0开始学web自动化(2)--元素定位
元素定位的意义元素定位是为了找到并操作网页上的元素(输入框,按钮,连接)自动化(代码)去查找元素的方法:1,网页的页面结构(HTML),兼容性强(selenium)2,页面坐标(appium)页面大小,尺寸固定的情况下才能使用3,图像识别(appium)依赖图像分辨率,消耗cpu资源较多HTML由各种各样的网页标签构成,标签和标签之间互相嵌套,形成复杂的树形结构标签的组成--标签名,属性,text文本每个标签都有自己独特的能力<inpu.原创 2021-11-23 11:35:32 · 473 阅读 · 0 评论 -
提升之路--从0开始学web自动化(1)--selenium基础
Selenium是一款浏览器自动化工具(使用代码控制浏览器,执行浏览器操作)要结合测试工具(unittest/pytest)才能算是web自动化测试安装selenium-安装浏览器(谷歌,火狐)-下载webdriver驱动 ChromeDriver Mirror驱动可以放在python根目录也可以放在项目的根目录,获得浏览器的时候要把驱动路径加上-语言绑定包,pip install seleniumSelenium浏览器操作-得到浏览器#得到..原创 2021-11-19 15:00:58 · 542 阅读 · 0 评论