abcnull
INTP男,好结交志趣相投的朋友,微信:a463279708,希望能共同努力进步!你们的支持将是我写下去的不竭动力......
展开
-
selenium中cssSelector元素定位汇总
文章目录基本规则举例子基本规则*用作标签的时候表示任意一个 html 标签,比如可能是 div 可能是 li 或者其他等等.后加上 class 属性#后跟上 id 属性空格表示前面标签里面的一个标签,比如ul li即可定位,但是不一定非要下一个层级,可以是下多个层级>表示下一个层级,比如ul>li+表示同层级毗邻的下一个,只会匹配第一个~与+不同的是~可以匹配所有同层级毗邻后面所有的^匹配以什么开头的属性,比如说div[class^='xxx']属性值以 xxx 开头$属性原创 2020-09-08 11:34:15 · 1108 阅读 · 0 评论 -
selenium中常用的定位方式汇总
文章目录前言id 定位name 定位className 定位tagName 定位linkText 定位partialLinkText 定位xpath 定位cssSelector 定位前言selenium 在找元素的时候 findElement 方法其中的参数是 By 类型,所以下面我们用 By 类型举例说明id 定位由于 html 中 id 是唯一的,所以我们非常建议使用这种方式,id 唯一不容易定位错误,而且定位方便,id 也不容易变动By by = By.id("id名字");name 定原创 2020-09-06 23:59:29 · 810 阅读 · 0 评论 -
selenium各种类型xpath元素定位汇总
文章目录html 标签样例基本规则简单使用查找第几个依据文本查找html 标签样例<div class="a"> <div class="b"> <a>helloworld</a> </div></div>基本规则/表示一个层级关系,//表示多个层级关系@表示 html 标签的属性,比如@class[]中可以写匹配上的具体属性等信息[数字]可以表示所有匹配到的元素中第几个,[last()]表示最后一个,[las原创 2020-09-06 23:40:23 · 861 阅读 · 0 评论 -
selenium和appium中各种等待方式总结
文章目录隐式等待显示等待自定义等待其他等待方式隐式等待隐式等待介绍设置隐式等待,下面我写的隐式等待时长是 10s,意思是在 10s 内会不断的轮询遍历 DOM(0.5s 遍历一次),直到找到指定元素就不再轮询,比如在第八秒找到,轮询就会终止,如果超过十秒没找到就会报出 timeoutexception 异常代码用法介绍implicitlyWait 方法第一个参数是传一个 long 类型。这个 driver 就是 WebDriver,我们知道 WebDriver 是一个接口,MobileDrive原创 2020-08-13 16:56:19 · 726 阅读 · 0 评论 -
selenium切换alert警告弹框
文章目录切换 alert 弹框跳出 alert切换 alert 弹框切换至 alert 和切换至 frame 很像,都是一种结构,要注意的是一般切换至 alert 的方法对于原生 js 产生的弹框是有效的,对于前端框架自己的各种样式弹框其实我们直接不切换至 alert,而是直接去抓取元素点击也是可以的driver.switchTo().alert();跳出 alert返回原来的上下文环境driver.switchTo().defaultContent();...原创 2020-07-26 13:30:08 · 511 阅读 · 0 评论 -
selenium切换frame与跳出frame
文章目录切换至 frame 中切换至父 frame跳出 frame切换至 frame 中已知有 iframe 其 id 是 frame1,我们想切换其中来操纵其中的元素frame() 目前接受的参数有第几个 frame,frame 的名字或 id,frame 定位的元素public final By frameBy = By.id("frame1");WebElement frameElement = driver.findElement(frameBy);driver.switchTo()原创 2020-07-26 13:25:28 · 2584 阅读 · 0 评论 -
selenium切换窗口句柄
文章目录切换至下一个窗口切换到第几个窗口切换到指定的窗口切换至下一个窗口大致逻辑是通过 getWindowHandles 这个方法获取窗口的Set<String> 集合,然后通过 for 循环,只要找到第一个窗口句柄和当前窗口句柄不一样的,我们就切换到这个新句柄for (String window : driver.getWindowHandles()) { if (!window.equals(driver.getWindowHandle())) { driver.switchTo原创 2020-07-26 13:09:08 · 1356 阅读 · 0 评论 -
selenium来测试手机浏览器H5页面的方法
文章目录前言谷歌如何调试手机浏览器 H5 页面如何增加修改代码前言手机浏览器本身是一个 webview,webview 本身是移动端开发中的一个控件,主要是提供一个 webkit 内核的浏览器方便在 app 中添加一些页面,这样来看手机自带浏览器本身就是一个 webview。实际项目的建议实际项目中很多 app 拥有 webview 组件,所以这里我建议大家使用 appium 框架来做 webview 测试(其实 selenium 和 appium 框架可以合在一起),有的项目可能只有一个手机浏览器原创 2020-07-24 18:38:41 · 2285 阅读 · 0 评论 -
selenium与appium依赖中类与类之间到底是如何继承的详解
文章目录前言涉及 driver 的类的继承关系其他常见类的继承关系完整的继承关系图前言下面我会把 selenium 依赖和 appium 依赖混合起来,因为二者依赖包之间本身就已经具备了一些类的相互继承关系,下面我会通过 uml 类图的形式非常清晰的展现涉及 driver 的类的继承关系下面这张图不够全面,但是足以把最常用最重要的和 driver 有关的类和接口囊入其中我们能从上图中得到哪些信息呢?最上面的接口在往上无继承,WebDriver 是一个接口,我们平常使用WebDriver driv原创 2020-06-23 18:36:39 · 648 阅读 · 0 评论 -
selenium滑动窗口页面滑块滚动条操作大汇总
文章目录前言滑动到页面最底部滑动到页面最顶部上下滑动使元素和窗口底部对齐上下滑动使元素和窗口顶部对齐水平滑动到页面最右边水平滑动到页面最左边水平滑动滑块用按键来进行上下左右滑动前言其实对于 selenium 操作浏览器而言大部分的滑动操作都可以使用 js 脚本完成,还有一些可以借助按键操作滑动到页面最底部((JavascriptExecutor) driver).executeScript("window.scrollTo(window.pageXOffset, document.body.scro原创 2020-06-21 23:04:28 · 9486 阅读 · 1 评论 -
如何快速解析字符串类型的cookies
文章目录前言使用 AWK 工具解析前言怎么取到 cookies 的 String 形式,我们一般可以在接口中取,我们不应使用前端 js document.cookies来获取,因为这种方式获取的 cookies 不全!使用 AWK 工具解析通过写一个 awk 脚本可以很方便的解析 cookies 成为我们需要的代码,现在假如我们从前端的接口中抓取到了 cookies 字符串,我们通过 awk 脚本假如要转化为如下形式:drvier.manage().addCookie(new Cookie("键原创 2020-06-13 15:12:28 · 1441 阅读 · 0 评论 -
Selenium登录网站的多种实现手段
文章目录用 WebDriver 点击 UI 实现登陆用 HttpClient 模拟接口进行登录直接手动抓登录信息写在项目中用复用浏览器 getCookie 来登录其他用 WebDriver 点击 UI 实现登陆这一种是最常规的方式,就是直接使用 WebDriver 点击 UI 界面实现登陆操作,基本上绝大部分的 WebUI 测试项目用这种方式都是足够了适合的登录页:常规的没有任何验证码,没有滑块,不用扫二维码的登录页面适合有滑块的登录页面对于有比较规范的验证码的登录页面,可以尝试集成图像识别原创 2020-06-12 21:15:18 · 1882 阅读 · 0 评论 -
如何使用Selenium IDE插件来录制脚本
文章目录前言详细录制操作过程录制的脚本支持的功能我们常用的操作功能写在后面前言我们知道 selenium 的三大核心组件:Selenium WebDriverSelenium IDESelenium Grid这里我们就来讲一讲 Selenium IDE 的录制操作,一般我们用 Selenium IDE 录制脚本帮助我们更好的完成 UI 自动化代码Selenium IDE 谷歌有,火狐也有,我这里采用火狐的插件来录制,其实都是一样的,不过火狐没有被墙所以插件下载方便一些详细录制操作过程原创 2020-06-11 22:02:14 · 1066 阅读 · 0 评论 -
selenium复用浏览器进行调试操作如何去做
文章目录前置准备执行谷歌调试命令手动点击页面添加调试代码适用的场景前置准备我们的需求是要调试浏览器的某个页面进行某些操作,但是我们要求是操作当前已经打开的某个页面,在当前页面直接执行程序运行 selenium 脚本,这个时候可以用到复用浏览器的方法以 chrome 浏览器为例,我们需要:chrome 浏览器(最好配置进环境变量,其 exe 文件在桌面谷歌右键属性中打开文件位置中可以找到)下载好与自己谷歌浏览器版本对应的谷歌驱动(这个 chromedriver 配不配置环境变量随意)有基本框架的原创 2020-06-11 21:22:52 · 2261 阅读 · 0 评论 -
PageObject设计原则
文章目录写在前面Martin Fowler 的观点PO 的 6 大原则写在前面PageObject 的设计模式是 2013 年被国外大神 Martin Fowler 提出来的,其实也没有几年时间,但是它的思想还是很重要的,目前基本很多项目都采用了这个原则基本思想就是代码逻辑和业务逻辑相分离Martin Fowler 的观点Martin Fowler 当年的 PageObject 的观点PageObject 提供的接口需要封装操作细节PageObject 中不需要对每一个元素进行封装,我们只原创 2020-06-09 13:53:20 · 2110 阅读 · 0 评论 -
(docker 容器)服务器搭建selenium-grid平台并构建jenkins job全过程
文章目录首先检查服务器Docker 服务的安装配置Jenkins 的 Docker 容器安装配置Selenium-Hub 的 Docker 容器安装配置Selenium-Node 的 Docker 容器安装配置Jenkins Job 配置来拉取 GitHub 或者 GitLab 项目首先检查服务器检查服务器是否含有 docker# 查看 docker 服务是否起来了(没起来需要启动 do...原创 2020-01-03 19:41:16 · 1064 阅读 · 0 评论 -
各浏览器驱动webdriver下载
文章目录IE 驱动IE 驱动ie 驱动 IEDriverServer 网址ie 驱动下载后面陆续更新原创 2019-12-30 16:40:11 · 3239 阅读 · 0 评论 -
java selenium启动浏览器使用后台静默模式
文章目录本人驱动放在 test 包下resources/driver/中,maven 项目运行后打包到 target 目录下,所以下方谷歌驱动路径我这么写的// 谷歌驱动路径String chromeDriverPath = this.getClass().getResource("/").getPath() + "driver" + File.separator + "chromedriv...原创 2020-01-29 13:53:21 · 2356 阅读 · 2 评论 -
java selenium截图操作
文章目录selenium 截图操作是一个比较常见 WebUI 操作,下面详细介绍一下实际项目中该怎么去实现截图操作以及 selenium 项目失败截图全过程前提条件项目是 maven 项目并且需要如下依赖包:selenium-javaselenium-apicommons-io既然要实现截图,首先你是 selenium 项目,所以基础的 selenium-java 依赖包是要有的...原创 2020-01-29 13:30:38 · 1748 阅读 · 2 评论 -
Selenium Grid 平台的搭建
文章目录Selenium-Hub 的 Docker 容器安装配置Selenium-Node 的 Docker 容器安装配置Selenium-Hub 的 Docker 容器安装配置官方对低版本的 hub 镜像选择放任不管,我们尽量采用高一点版本的镜像,我们决定安装这个 madehao 版本的 hub拉取 selenium-hub 的镜像# 拉取 selenium-hubdocker p...原创 2020-01-04 17:15:09 · 525 阅读 · 0 评论 -
Java+Selenium修改浏览器默认下载路径
文章目录代码实现 java + selenium 修改浏览器默认下载路径方法// 1.设置驱动路径(驱动在 target 文件夹中)System.setProperty("webdriver.chrome.driver", this.getClass().getResource("/").getPath() + "drivers/chromedriver.exe");// 2.新的下载地...原创 2019-10-29 11:34:14 · 4020 阅读 · 0 评论 -
利用Robot类实现Java+Selenium的导入功能
文章目录java + selenium 导入功能常用方式有仨(这里主要用代码体现 Robot 操作按键方式)利用 java 的 awt 包中的 Robot 类进行按键模拟将字串复制到剪切板再复制到地址处,需要依赖图形界面操作,对于无图形界面 Linux 有影响利用 autoit 工具,目前只适用 windows由于一般网页的导入按钮会包住一层 input 标签,可以对这个 input 标...原创 2019-10-29 11:23:40 · 693 阅读 · 1 评论 -
selenium截图功能实现
selenium截图功能实现一.背景下面代码是重写的方法,此类需要继承 estListenerAdapter 监听类,然后重写 onTestFailure() 方法,先获取测试用例的驱动,然后截图,存放于指定路径,之后将截图附在 reportng 的报告中显示。重要代码如下所示:二.重写方法@Overridepublic synchronized void onTestFailure(I...原创 2019-02-26 16:40:55 · 1189 阅读 · 0 评论 -
selenium退出浏览器驱动方式
selenium浏览器驱动方式// 驱动退出(此驱动前面已经定义过了)driver.quit();// 杀死浏览器进程(下面以谷歌驱动为例)String command = "taskkill /F /IM";command = command + "chromedriver.exe";try { // 运行关闭浏览器命令 Runtime.getRuntime().ex...原创 2019-02-26 16:21:23 · 2134 阅读 · 0 评论 -
selenium启动常用浏览器驱动方式
selenium 启动常用浏览器驱动方式一.启动 Chrome 浏览器方式一:// 驱动路径的 FileFile file = new File("src/main/resources/drivers/chromedriver-win32.exe");// 设置系统属性,setProperty() 中两个参数分别是驱动名和 file 绝对路径System.setProperty("we...原创 2019-02-26 16:05:00 · 2213 阅读 · 1 评论 -
java selenium testng框架搭建终极版(含源码)
文章目录介绍项目结构搭建流程注意点待优化介绍GitHub 源码地址:https://github.com/abcnull/webuitest4j欢迎大家 Watch Star and Fork!本人之前自己从头到尾尝试搭建过 selenium 测试框架,之前搭建的太粗糙了,这次重新搭建一个功能齐全的 Web UI 自动化测试框架功能上支持 PO 模式,支持配置文件驱动,支持多线程测试,支...原创 2020-01-30 22:44:39 · 4082 阅读 · 9 评论 -
selenium 运行 IE11 需要进行的浏览器设置
文章目录IE 浏览器算是众多浏览器中比较奇葩的一类,但是鉴于很多银行政府机构还在使用 IE 浏览器,因此有些地方可能需要做 IE 的自动化检测,当我们做 IE 的自动化检测时候,首先需要对 IE 浏览器进行一些设置,之后稍微改动下 IE 驱动启动的代码即可↓↓↓ 浏览器更改 ↓↓↓1.关掉 IE 浏览器 4 处保护模式(其实这一块在代码中也会设置到)2.关掉增强保护模式这里改好了注意应...原创 2020-01-06 14:51:03 · 2902 阅读 · 1 评论 -
必看超赞!python + unittest + selenium 测试框架 GitHub 源码分享!从头搭建 WebUI 自动化测试环境
文章目录项目介绍工具准备框架结构搭建case/data/locator/page PO 思想run.py 测试套件common 共用类config.ini 参数化构建项目Assembler 装配器BeautifulReport 报告save_img 截图logging log 日志ParamUnittest 外部传参redis 配置mysql 配置RemoteWebDriver 远程远行线程存储考...原创 2019-12-04 01:35:50 · 5643 阅读 · 2 评论 -
Selenium 是如何操纵浏览器的(底层原理)
文章目录(测试代码)(Webdriver)(浏览器 driver)(浏览器)之间的关系执行信息是如何传递的呢?一些问题很多人可能写过不少测试脚本,但是可能没有理清测试代码,WebDriver,浏览器 driver 和浏览器之间的关系,下面会逐渐为大家理清一下这些关系(测试代码)(Webdriver)(浏览器 driver)(浏览器)之间的关系形象描述如果把自动化控制浏览器和人工手动点击...原创 2019-11-10 13:08:06 · 1252 阅读 · 0 评论 -
idea+java+testng+selenium+reportng搭建学习及测试
idea+java+testng+selenium+reportng搭建及测试一.简介使用工具介绍:idea 工具,行业中非常火的 java 开发工具;java 语言和 python 语言行业中常见的两种自动化测试需要的语言,我个人感觉可能java要用的多些;testng 是是testing的下一代测试技术,是一套根据 juint 和 nunit 思想构建的利用注释来强化测试功能的一个测试...原创 2019-02-25 18:06:25 · 3001 阅读 · 0 评论