![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
selenium3+java
woshiweiweily
这个作者很懒,什么都没留下…
展开
-
selenium3.141+java弹窗
遇到confirm弹窗或者Alert弹窗的时候,点击确认或者取消,代码如下:点击确认 //获取Alert弹框对象; Alert confirmWindow = null; try { confirmWindow = driver.switchTo().alert(); //获取confirm弹框的文本,并打印到控制台; String c...转载 2020-01-20 10:34:43 · 432 阅读 · 0 评论 -
selenium3.141+java句柄切换窗口
有时候,在页面点击一个链接会打开一个新的页面,发现元素定位没有问题,但就是无法定位到元素,其实是因为driver不是在新开的页面,而是停留在老页面,所以找不到元素。这时我们切换一下句柄,切换到当前的窗口就可以了。package framework;import java.io.File;import java.io.IOException;import java.util.ArrayLi...转载 2020-01-19 17:03:52 · 902 阅读 · 0 评论 -
selenium3.141+java数据驱动
package framework;import java.io.File;import java.io.IOException;import java.util.ArrayList;import jxl.Sheet;import jxl.Workbook;import jxl.read.biff.BiffException;public class suibian { //...原创 2020-01-19 11:02:48 · 343 阅读 · 0 评论 -
selenium3.141+java模拟F12进入wap页面
因为公司有wap和微信专区渠道,我都是在电脑上模拟的,所以想试一下自动化测试能否模拟,发现可以,代码如下:package testsuite;import java.util.HashMap;import java.util.Map;import org.openqa.selenium.By;import org.openqa.selenium.Cookie;import org.o...转载 2020-01-13 17:32:44 · 571 阅读 · 0 评论 -
Jenkins执行自动化测试项目,无法打开浏览器问题
上篇文章用Jenkins持续集成了selenium自动化测试项目,但是未打开浏览器,这就导致看不到UI自动化的执行过程,只能最后看到一个测试结果。因为jenkins是用windows installer 安装成windows的服务了,那么jenkins是一个后台服务,所以跑selium cases 的时候不显示浏览器。Step 1. Control Panel(控制面板) -> Admin...原创 2020-01-03 13:27:22 · 2380 阅读 · 1 评论 -
Jenkins配置git+ant,持续集成selenium+java自动化测试项目
前面介绍了Jenkins的安装,这篇博客记录一下Jenkins的使用,这里我是用git拉取代码,用ant构建,项目还是之前写过的QQ邮箱。1.Jenkins里面要想使用Git,ant必须要安装插件,在available里面找到Git plugin和ant plugins,并安装。因为我已经安装过了,所以在Installed里面可以直接看到2.全局工具配置,要把使用的工具配置到Jenkin...原创 2020-01-02 10:16:38 · 395 阅读 · 0 评论 -
Windows下ant的使用
下面使用ant,自动编译并执行一个Java+Selenium+TestNG自动化测试项目。1.在项目根目录下放入build.xml文件,ant执行的时候是要找build.xml文件去执行<?xml version="1.0"?><project name="TestNGTest" default="test" basedir="."><!-- Define &...原创 2019-12-30 16:23:38 · 789 阅读 · 0 评论 -
windows下ant的安装
1.下载ant,地址http://ant.apache.org/bindownload.cgi,Windows环境下载.zip文件。我下载的是1.10.7版2.把解压下来的文件夹放入你想要存放的位置,我放到了D:\apache-ant-1.10.73.配置环境变量添加环境变量:ANT_HOME=D:\apache-ant-1.10.7在path中添加: ;%ANT_H...原创 2019-12-30 10:08:53 · 505 阅读 · 0 评论 -
windows下Git的安装和使用
已经写了一个QQ邮箱登录和发邮件的自动化测试代码,并且在本地跑成功了,但是要放到Jenkins上面持续集成,才算是公司平台化的自动化测试,要不然在本地运行只算是小打小闹。于是想要把我写的QQ邮箱自动化测试的项目集成到Jenkins上面。安装了Jenkins,想要把项目集成上去,后来又了解到,需要用Git提交代码,于是今天学习了下Git。我还问了我们公司的开发,我们公司是用git提交的代码,从Git...转载 2019-12-27 14:49:08 · 174 阅读 · 0 评论 -
windows下安装Jenkins
个人理解:Jenkins可以检查代码更新,自动获取代码,自动构建,持续集成,自动定时执行测试用例,自动发邮件,可以在不同平台的不同浏览器执行,功能强大。Jenkins不光可以与java+selenium结合使用,也可以与Jmeter结合,这样也可以使Jmeter定时执行并发送报告,也可以用来做自动化测试。下面是Jenkins搭建:1.下载Jenkins,地址:https://jenkins...原创 2019-12-26 14:13:45 · 183 阅读 · 0 评论 -
selenium3.141+java之POM
测试框架思路介绍:采用PageObject设计模式是将某个页面的所有"元素(包含控件)属性"及"元素操作"封装在1个类(Class)里面,目的是为了将测试代码与被测页面对象代码分离,后期如果有页面元素发生更改,只需要修改相应页面对象的代码(即对应class文件),而不需要修改测试代码。也是为了进一步降低后续因页面变化带来的维护成本。Selenium中使用POM的特点和优点?1) POM...转载 2019-12-24 13:45:23 · 274 阅读 · 0 评论 -
selenium3.141+java通过保存cookie跳过登录
之前写过登录的时候需要验证码,如何获取验证码登录,但是今天写公司网站的自动化测试代码时发现,登录后去商详页购买,浏览器没有保存登录信息,还需要再次登录,查了一下资料,发现还有另外一种方式,直接给cookie赋值,具体看下面1.用抓包工具抓包,登录前和登录后看一下cookie的变化,有变化的那个就是我们要存入的cookie值,抓包工具哪个都可以,我用的是fildder...转载 2019-12-20 18:00:13 · 1840 阅读 · 0 评论 -
selenium3.141+java使用reportNG
ReportNG是TestNG单元测试框架的一个HTML报表生成插件。它用于替换TestNG默认的HTML报表,其默认的报表虽然信息全面,但不易于理解。ReportNG提供一种简单的方式来查看测试结果,并能够对结果代码进行着色。还可以通过修改CSS文件来替换默认的输出样式。话不多说,介绍如何配置和使用。1.先下载jar包reportng-1.1.4.jar下载地址:http://www.ja...原创 2019-12-17 10:57:05 · 228 阅读 · 0 评论 -
selenium3.141+java用log4j输出日志
1.下载log4j包,地址https://archive.apache.org/dist/logging/log4j/?C=M;O=D,我下载的版本是1.2.17,因为看网上大部分都用的这个版本2.导入jar包3.在src下面新建log4j.properties文件,Eclipse中选择新建File,将文件命名为log4j.properties即可。内容如下:###根logger设置...原创 2019-12-16 15:07:30 · 176 阅读 · 0 评论 -
谷歌浏览器取消自动升级
就怕谷歌自动升级,我已经把服务里面的谷歌更新服务禁用了,也把任务计划程序库里面的谷歌更新禁用了,但是今天打开谷歌浏览器,又让我升级,真是烦。。。查了一下资料,这回成功啦。攻略如下:1.首先我们下载并安装Chrome谷歌浏览器(这里以Chrome 62.0.3202.62 版本为例)2.安装完成后,点击浏览器右上角的"帮助->关于Google Chrome",让浏览器自动检测并升级到最新...转载 2019-12-13 16:30:01 · 16366 阅读 · 0 评论 -
selenium3.141+java绝对路径和相对路径
自动化测试中,如果我们将好不容易编写好的ui自动化测试代码放到另一台机器中,那么文件所处的位置肯定会发生变化,那么遇到需要执行系统文件的时候,就肯定会报错,因为找不到文件了,这时,我们把文件路径写成相对路径,就不会出现这样的问题了。获得项目所在相对路径:System.getProperty(“user.dir”)...原创 2019-12-13 16:03:32 · 403 阅读 · 0 评论 -
selenium3.141+java将QQ邮箱登录功能进行分层编码
之前写的QQ邮箱登录或者发送邮件都属于线性编程,就是在一个主文件中,把对元素的定位,对元素的操作,还有测试步骤都放到了一个文件中,这样看着太乱了。所以我们可以分层编写,比如:对定位的元素放到一个文件中,对元素的各种操作放到一个文件中,下面就已QQ邮箱登录为例看一下如何分层:1.将元素放到数据层。我新建了一个包叫data,在他下面新建了一个java文件叫login.java,这里存放所有的元素定位...原创 2019-12-13 15:17:59 · 201 阅读 · 0 评论 -
selenium3.141+java往TXT文件里写
自动化测试时,要想记录日志等信息,可以往txt文件里面写 //用BufferedWriter更快些,true的意思是每次执行的时候可以追加写入 BufferedWriter tx = new BufferedWriter(new FileWriter("a.txt",true)); //往TXT里写 tx.write("3333311111"); //换行 tx...原创 2019-12-12 10:21:34 · 227 阅读 · 0 评论 -
selenium3.141+java往Excel里面写数据
package selenium3;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import jxl.Sheet;import jxl.Workbook;import jxl.read...原创 2019-12-11 17:14:54 · 249 阅读 · 0 评论 -
selenium3.141+Java用map的方式取某行或某列数据
上篇记录用ArrayList读取某行或者某列数据,这次用map的方式读取。代码如下:package selenium3;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import jxl...原创 2019-12-11 13:53:51 · 227 阅读 · 0 评论 -
selenium3.141+java取Excel某行或者某列的数据
写了个函数,取这个Excel里面某行或者某列的数据,代码如下:package selenium3;import java.io.File;import java.io.IOException;import java.util.ArrayList;import jxl.Sheet;import jxl.Workbook;import jxl.read.biff.BiffExcep...原创 2019-12-11 10:50:58 · 249 阅读 · 0 评论 -
selenium3.141+Java对Excel的基本操作
1.要想对Excel进行读取,修改,删除等操作,需要先导入jxl包2.想要输出上面Excel的内容,具体代码如下:package selenium3;import java.io.File;import java.io.IOException;import jxl.Sheet;import jxl.Workbook;import jxl.read.biff.BiffExcept...原创 2019-12-10 17:54:50 · 189 阅读 · 0 评论 -
selenium3.141+java中的FindBy和PageFactory
@FindBy(id=“aaa”)这个注解的意思是定位id为aaa的元素,相当于driver.findElement(By.id(“aaa”)),支持的类型有:className、css、id、linkText、name、partialLinkText、tagName、xpathPageFactory提供的是静态方法,可以直接调用,一般在用完@FindBy后,需要进行元素初始化,则需要调用i...原创 2019-12-06 15:54:44 · 263 阅读 · 0 评论 -
Selenium3.141+java的三种等待方式
1.强制等待time.sleep(3000)强制等待3秒后,进行下一步操作缺点:不能准确把握需要等待的时间(有时候操作未完成,等待就结束了,导致报错;有时候操作已经完成了,但时间还没到,浪费时间),如果再用例中大量使用,会浪费不必要的等待时间,影响用例的执行效率。优点:使用简单,可以在调试时使用。2.隐式等待driver.manage().timeouts().implicitlyWa...转载 2019-12-05 17:28:53 · 740 阅读 · 0 评论 -
selenium3.141+java关于xpath的一些用法
假设xpath为 //*[@id=‘hahabaidu’]/div[1]/a以下用法:1.starts-with(): //*[starts-with(@id,‘haha’)]/div[1]/a 表示选择以haha开头的xpath路径2.contains (): //*[contains(@id,‘habai’)]/div[1]/a 表示选择id中包含有’habai’的xpat...原创 2019-12-05 14:22:30 · 130 阅读 · 0 评论 -
selenium3.141+java当前日期往后加20天
以上篇文章的日期选择为例,我们已经会如何在日期框里输入日期了,现在我们可以使用java的日历方法,直接选择20天后的日期 //创建一个执行 JS 的对象,也就是 JavascriptExecutor 对象,这个对象是由 driver 进行强制类型转换而来 JavascriptExecutor j = (JavascriptExecutor) driver; //执行js语句,将readon...原创 2019-12-04 10:58:36 · 416 阅读 · 0 评论 -
selenium3.141+java用JavaScript对日期进行操作
在做web自动化时,有些情况selenium的api无法完成,需要通过第三方手段比如JavaScript来完成实现,比如去改变某些元素对象的属性或者进行一些特殊的操作下面以携程网购买火车票选择日期为例:1.日期选择窗口只能选择日期,我们无法手动清空日期,并手动输入日期,所以我们无法用selenium的传统方法去改日期。因为它是readonly属性,这时我们可以用js来移除它的readonly属...原创 2019-12-04 10:42:19 · 214 阅读 · 0 评论 -
selenium3.141+java滑块验证
有时登录或者支付的时候,会遇到滑块验证将滑块从左移到右,代码如下:WebElement e = driver.findElement(By.cssSelector("#sliderddnormal > div.cpt-drop-box > div.cpt-bg-bar"));int x = e.getSize().getWidth();int y = e.getSize()....原创 2019-12-02 17:24:38 · 629 阅读 · 0 评论 -
selenium3.141+java+TestNG用QQ邮箱自动发送邮件
终于完成了一个自认为还可以的自动化测试功能,用QQ邮箱发邮件,我分成了2个测试用例,一个是登录login,一个是写邮件sendmail,用的TestNG实现的,就是把之前写好的登录+写邮件,分成了2个方法,具体见代码:TestNG类代码:package selenium3;import java.io.IOException;import org.openqa.selenium.By;...原创 2019-12-02 14:21:04 · 550 阅读 · 0 评论 -
TestNG之传参Parameters
1.xml配置,加上Parameters,代码如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"><suite name="Default Suite"> <test name="Java_Learn"...原创 2019-11-28 16:21:02 · 157 阅读 · 0 评论 -
TestNG之群组测试groups
自动化测试中,不想所有用例都跑一边,只想跑冒烟测试,就可以用group1.xml文件配置加上groups<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"><suite name="Default Suite"> ...原创 2019-11-28 15:30:25 · 566 阅读 · 0 评论 -
TestNG之断言Assert
如果不加断言,自动化代码执行完后只能叫自动化,加上断言才能叫自动化测试。断言就是判断测试用例的实际执行结果和预期结果是否一致,一致则用例通过,不一致则用例不通过。下面介绍断言的基本使用方法:import org.testng.annotations.Test;import org.testng.annotations.BeforeTest;import org.testng.annota...原创 2019-11-28 15:16:10 · 417 阅读 · 0 评论 -
TestNG的两种执行方式
1.直接在程序中执行,Run As–>TestNG Test2.在xml文件中执行,xml文件如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Default Suite"&g...原创 2019-11-28 15:08:56 · 249 阅读 · 0 评论 -
在线安装TestNG
之前说过用QQ邮箱自动发送邮件,只是自动化,并不是自动化测试,因为没有断言,现在用TestNG就可以加上断言,来验证结果到底是pass还是fail。我安装了整整一天,用的是在线安装,不知道为啥这么慢。。。。后来查到离线安装感觉很快,但是我安装完了,就这样吧。步骤:1.Help–>Install New Software2.输入http://beust.com/eclipse,勾选TE...原创 2019-11-25 18:00:19 · 339 阅读 · 0 评论 -
selenium3.141+java用QQ邮箱自动发送邮件(二)
之前写过QQ邮箱自动发送功能代码,但是上传附件用的是input.sendkeys(),今天使用AutoIt上传附件并加上注释,代码如下:package selenium3;import java.io.IOException;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.ope...原创 2019-11-22 16:23:13 · 327 阅读 · 0 评论 -
使用AutoIt完成自动上传文件
在写QQ邮箱自动发送邮件功能的时候,要实现上传附件功能,需要对Windows界面进行操作,但是selenium无法实现,可以使用AutoIt,利用此工具来识别Windows控件信息,如输入框、按钮等。下面使用步骤:1.下载AutoIT3,百度随便找一个2.运行autoit-v3-setup.exe,按照步骤进行安装3.在桌面点击鼠标右键,新建AutoIt v3 Script4.输入以下代...原创 2019-11-22 16:16:15 · 940 阅读 · 0 评论 -
selenium3.141+java用QQ邮箱自动发送邮件
搞了一天,连自己写再查资料,终于写出并运行成功了package selenium3;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.firefox.Fire...原创 2019-11-20 17:48:23 · 335 阅读 · 0 评论 -
selenium3.141+java使用frame
有时明明元素定位没有问题,但就是找不到元素。报错no such element: Unable to locate element: {“method”:“css selector”,“selector”:"#login"}这是可以看一下该元素上面是否有iframe,如果有,加入以下代码: driver.switchTo().frame(driver.findElement(By.id("f...原创 2019-11-20 14:34:14 · 156 阅读 · 0 评论 -
selenium3.141+java无法使用sendkeys方法
driver.findElement(By.id(“qqq”)).sendkeys();这句代码报错:The method sendkeys() is undefined for the type WebElement解决方法:1.选中项目,右键,选择Properties2.Java Compiler,选择1.73.点击Apply,OK...原创 2019-11-19 18:00:14 · 610 阅读 · 0 评论 -
selenium3.141+java定位下拉框
以下代码可以循环遍历选择下拉框Select se = new Select(driver.findElement(By.id(“aaa”)));for(int i=0;i<se.getOptions().size();i++){se.getOptions().get(i).click();Thread.sleep(2000);}...原创 2019-11-19 17:52:16 · 417 阅读 · 0 评论