![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java自动化
基于Java语言的自动化测试总结
梦里有阳光
每天进步一点点
展开
-
selenium+Java同时开启多个浏览器并行测试用例
在使用selenium+Java进行web自动化测试时,并行运行测试用例一般会在以下两个场景下使用:一是需要加快测试用例执行速度,减少测试时间;一是为了验证不同类型浏览器下web页面的兼容性。由于testNG支持多线程并发运行,在这里简单介绍一下testNG关键字+数据驱动框架下实现多个浏览器并行测试用例的方法。其核心即为testng.xml的配置,具体示例如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "原创 2021-09-06 23:25:40 · 2483 阅读 · 0 评论 -
selenium+Java浏览器窗口切换
selenium在当前浏览器页面打开了新的窗口,此时如果要聚焦到新开的浏览器窗口,就需要切换到新的窗口。切换窗口主要用到getWindowHandle();getWindowHandles();switchTo().window()等方法。具体示例如下:public static void main(String[] args) { // 打开浏览器访问目标网页 System.setProperty("webdriver.chrome.driver", "webdriver/chromedriv原创 2021-09-01 09:08:14 · 2931 阅读 · 0 评论 -
selenium+Java处理iframe切换
selenium+Java处理iframe切换有3种方法:1、如果iframe有id或name,则可根据iframe的id或name切换。2、把iframe当作页面元素,通过元素定位表达式进行切换。3、将iframe存储到list中,然后根据ifrane的索引定位 (适合页面有多个iframe,且前两种方法无法使用)。具体Java代码示例如下:import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import or原创 2021-08-28 10:32:06 · 1668 阅读 · 0 评论 -
selenium+Java模拟键盘操作
selenium中的Keys()类提供了键盘上几乎所有按键的方法。 sendKeys()方法可以用来模拟键盘输入, 除此之 外, 我们还可以用它来输入键盘上的按键, 甚至是组合键, 如 Ctrl+A、 Ctrl+C 等等。Java示例代码如下:public static void main(String[] args) throws Exception { System.setProperty("webdriver.chrome.driver", "webdriver/chromedriver.e原创 2021-08-25 22:08:01 · 1288 阅读 · 0 评论 -
selenium+Java模拟鼠标操作
在selenium中,针对鼠标的一些操作都被封装在Actions类中,在需要使用的时候,导入Actions类即可调用相关的方法,使用actions类方法时,每个方法后面需要跟上perform()方法才能实现。常用操作有:`doubleClick()` 模拟鼠标双击;`moveToElement()` 移动鼠标到某元素的中间位置;`contextClick()` 模拟鼠标右击动作;`dragAndDrop(source,target)` 将元素拖拽到目标位置selenium+Ja原创 2021-08-22 19:58:56 · 1984 阅读 · 0 评论 -
selenium+Java操作下拉框
selenium操作页面下拉框,一般来说分为两种情况,一种是标准的select标签下拉框;另一种是非select类下拉框,比如ul-li标签下拉框。针对select标签的下拉框,selenium提供了一个select类;针对非select标签实现的下拉框,可以通过模拟鼠标点击的方式实现操作。**1、select标签下拉框**如下图所示,下拉框为select标签,此时可以使用select类提供的三种方法定位到下拉框中的元素。原创 2021-08-19 11:33:57 · 3451 阅读 · 2 评论 -
selenium+Java操作cookie绕过登录
selenium操作cookie的方法包括:获取cookies,`Set<Cookie> data = driver.manage().getCookies();`获得cookies个数`driver.manage().getCookies().size();`删除所有cookies,`driver.manage().deleteAllCookies();`设置cookies,`Cookie c1 = newCookie("xxxx","xxxx")`;`driver.manage().addCook原创 2021-08-14 17:59:25 · 4512 阅读 · 2 评论 -
selenium+Java三种等待时间
selenium自动化测试中时间等待的方式主要有三种:一是固定等待时间,脚本运行到此处时,固定停留某一时间,即线程休眠。二是隐式等待时间,也叫全局等待时间。三是显式等待时间。**1、固定等待时间**脚本运行到此处时,固定停留某一时间。在脚本调试时比较常用。Java示例代码如下:原创 2021-08-11 10:13:55 · 977 阅读 · 0 评论 -
selenium+Java处理文件上传
selenium处理文件上传大致会有两种情况,一种是文件上传使用的是input元素,即<input type="file">,那么直接对这个input元素使用sendkeys方法输入文件的路径就可以完成上传,另一种是调用windows完成文件上传,即文件上传会弹出windows弹窗,此时则需要借助Autoit这样一个小工具结合selenium完成。1、文件上传使用的是input元素,selenium+java代码参考如下:import org.openqa.selenium.By;impo原创 2021-03-20 23:31:06 · 1403 阅读 · 3 评论 -
selenium+Java处理JS弹窗
JS弹框出现在页面主要分为3种,第一种是Alert警告弹框,第二种是Confirm确认框,第三种是Prompt确认框。selenium处理JS弹框主要用到了org.openqa.selenium.Alert包,核心操作步骤就是要先切换到弹窗:Alert alert=driver.switchTo().Alert()。其中常用的方法有:accept()接收警告信息或点击确认按钮;dismiss()忽略警告信息或点击取消按钮;getText()获取弹框中的文字信息;sengKeys()在弹框中输入信息。..原创 2021-03-14 12:12:39 · 1460 阅读 · 2 评论 -
TestNG基于分组的测试
简单的介绍一下实现分组测试步骤:首先在@test注解中通过groups属性定义测试所属的分组(同一个测试用例可以属于多个分组);例如@test(groups="smoking")//表示该方法属于smoking组例如@test(groups={"smoking","priority1"})//表示该方法同时属于smoking和priorty1@Test(groups= {"smoking"...原创 2020-03-14 16:21:46 · 837 阅读 · 0 评论 -
selenium+Java启动一次浏览器执行多个测试用例
在执行测试用例的时候,每次都要打开关闭浏览器。下面介绍一个简单的方法,让执行用例时只启动关闭一次浏览器。简单的说一下思路,首先定义一个基础类,把启动浏览器放在@BeforeSuite中,将关闭浏览器放在@AfterSuite中;在基础类中,通过关键字static定义webdriver driver为全局应用对象,则此driver可以在所有类中使用;其他class脚本中去掉启动、关闭浏览器操作,通过...原创 2020-03-07 19:37:40 · 1538 阅读 · 0 评论 -
Appium+Java+eclipse+maven+testNG自动化基础环境搭建
1.Java环境搭建(1)下载安装JDK,并配置环境变量https://www.oracle.com/java/technologies/javase-jdk8-downloads.html环境变量配置,以JDK安装在D盘为例;JAVA_HOME:D:\Program Files\Java\jdk1.8.0_192CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOM...原创 2020-09-06 22:30:12 · 901 阅读 · 0 评论 -
selenium+Java使用JS处理页面滚动条
selenium+Java使用JS处理页面滚动条,具体操作方法如下:import org.openqa.selenium.By;import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;原创 2020-08-08 21:35:07 · 946 阅读 · 0 评论 -
selenium+Java启动谷歌浏览器带上用户参数
启动浏览器带上用户参数,对于部分网站可以实现免登录(提前登录过该网站,并保存了用户名及密码)首先我们需要知道浏览器用户文件的路径,打开浏览器,地址栏输入chrome://version,回车查看用户文件路径原创 2020-07-25 15:10:43 · 1082 阅读 · 0 评论 -
selenium+Java使用JS处理隐藏元素
页面隐藏元素,即元素属性中包含 type="hidden"或者style="display: none"。此时如果需要对元素进行进行操作,使用selenium提供的常规方法是不可行的,这个时候就需要用到JS。selenium无法操作隐藏元素,但是能正常定位到,selenium也提供了一个入口可以执行JS脚本。原创 2020-07-02 09:21:26 · 1731 阅读 · 0 评论 -
selenium+Java自定义浏览器下载文件保存路径
Java+selenium操作谷歌浏览器自定义下载文件路径,具体代码如下:import java.util.HashMap;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;原创 2020-06-01 23:26:39 · 2850 阅读 · 1 评论 -
selenium+Java+eclipse+maven+TestNG+Jenkins环境搭建(下)
本篇将在selenium+Java+eclipse+maven+TestNG的基础上集成Jenkins。Jenkins是一款开源免费的持续集成、持续发布工具。本文主要介绍Jenkins本地war包的安装及集成配置,具体步骤如下:原创 2020-04-01 11:09:48 · 622 阅读 · 0 评论 -
selenium+Java+eclipse+maven+TestNG+Jenkins环境搭建(上)
之前文章中,我已经介绍了Java 基础环境的搭建,本篇将在Java 基础环境的基础上完成maven和testNG集成,从而完成selenium环境搭建。如果不清楚Java基础环境搭建,可参考:[https://blog.csdn.net/weixin_44169484/article/details/104877969](https://blog.csdn.net/weixin_441692.配置maven的环境变量在环境变量path下添加maven的bin目录路径,点击确定3.验证mave...原创 2020-03-26 10:40:53 · 648 阅读 · 0 评论 -
selenium元素定位常用的8种方法
在selenium进行web自动化测试时,元素定位是非常重要的,下面介绍selenium元素定位中常用的8种方法。1、通过元素的id属性定位driver.findElement(By.id())示例:driver.findElement(By.id("username"))2、通过元素的name属性定位driver.findElement(By.name())示例:driver.findElement(By.name("login"))3、通过元素的classname属性定位driver.原创 2020-03-09 10:53:48 · 2591 阅读 · 0 评论 -
selenium+Java启动IE浏览遇到的问题
在学习selenium时,使用IE浏览器的过程中遇到几个小坑,在此记录一下。首先给大家推荐一个淘宝团队的镜像,这里可以下载3个浏览器(谷歌、欧朋、IE)的驱动及selenium架包。链接:https://npm.taobao.org/。具体页面如下,至于火狐浏览器,网上资源很多,就不列举了。好了,不多说了, 下面我就列举一下我在使用IE浏览器时遇到的问题。问题1:代码和环境搭建完毕,火狐和谷歌...原创 2020-02-20 19:53:10 · 1089 阅读 · 1 评论