![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
selenium+java
自动化测试框架selenium+java实战
qq_36379597
这个作者很懒,什么都没留下…
展开
-
获取xpath路径
准备工具: chrome浏览器步骤一:在chrome上打开自己想要获取元素的xpath的网页例如,打开百度首页如下:我的有点花哨,哈哈!!!步骤二:按下F12,打开控制台步骤三:选中自己想要获取xpath元素,右键打开菜单,点击copy,再点击copy xpath。...原创 2021-07-01 17:13:34 · 628 阅读 · 0 评论 -
selenium java 高级技巧篇(必学)element封装(九)
原创 2020-01-13 19:57:49 · 205 阅读 · 0 评论 -
selenium java 高级技巧篇(必学)多浏览器执行(十二)
首先创建一个basecase 类package seleniumCase;import org.apache.log4j.Logger;import org.apache.log4j.jmx.LoggerDynamicMBean;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome....原创 2019-10-09 15:04:57 · 247 阅读 · 0 评论 -
selenium java 高级技巧篇(必学)分层设计(十一)
原创 2020-01-13 19:57:31 · 335 阅读 · 1 评论 -
selenium java 高级技巧篇(必学)发送邮件(十)
去https://mvnrepository.com maven仓库中,寻找email的jar找到commons Email 点击进去,选择最新版本<!-- https://mvnrepository.com/artifact/log4j/log4j --><dependency> <groupId>log4j</grou...原创 2019-10-06 18:39:32 · 263 阅读 · 0 评论 -
selenium java 运行打开多余一个空白窗口
每次运行时,都会先打开一个空白窗口原因:多余的selenium jar包的影响,maven的pom.xml检查下,发现多个selenium jar包。看起来好像都有用,实际上有一个就可以了,在pom.xml中<dependency> <groupId>org.seleniumhq.selenium</groupId> <...原创 2019-10-06 15:48:06 · 784 阅读 · 1 评论 -
eclipse +testNg配置
在打开eclipse后,帮助-》安装新软件,点击ADD,然后输入2行内容testNGhttp://beust.com/eclipse点击ADD之后,出现下面的图解,勾选TestNG需要重启eclipse,重启后,为项目导入TestNG库...原创 2019-10-16 10:43:50 · 587 阅读 · 0 评论 -
selenium java 高级技巧篇(必学)TestNG监听错误case截图(八)
监听主要是针对注解了@Test 的方法的执行结果,对于执行了多少用例。多少成功了,多少失败了返回的信息打印到控制台1编写一个listener.java类2继承监听的父类3重写失败的方法package seleniumTest;import java.io.File;import java.io.IOException;import java.text.Simple...原创 2019-10-05 11:31:09 · 293 阅读 · 1 评论 -
selenium+java 截图
截图有很多种形式,以下只是比较简单的一类以上是简单的业务流程失败的时候调用的方法原创 2019-10-05 10:10:53 · 134 阅读 · 1 评论 -
selenium+TestNG+maven testng.xml is not a valid file和unable to find valid certification path。
一直报这个错,后来用了jre添加证书也没有效果解决方案:运行正常原创 2019-10-10 13:57:18 · 430 阅读 · 0 评论 -
selenium java 高级技巧篇(必学)美化测试报告(十三)
一般我们用的testng自带的报告太low了那现在我们准备输出一份比较美观的报告,1,先从网上下载个模板和几个jar包,https://download.csdn.net/download/qq_36379597/11839533解压把三个jar包引用进来,再把template复制到项目根目录下2添加maven文件 到pom.xml <!-- rep...原创 2019-10-10 14:26:47 · 485 阅读 · 0 评论 -
selenium java 高级技巧篇(必学)selenium框架面试问题
自动化测试的测试用例怎么来答:基本来自于手工测试的冒烟测试框架用什么开发答:selenium ,要用到依赖工具 maven ,管理测试用例框架TestNg(管理上k条测试用例),持续集成如何解决你遇见的问题答:做自动化的目的是什么答:用来回归测试,监控(大量数据导入的时候,自动检测),节省人力资源PO模型是怎么做的答:以页面作为单位。把单个页面拆分为页面的元素...原创 2019-10-10 15:51:58 · 397 阅读 · 0 评论 -
selenium+TestNG.xml简单使用
testng.xml基础使用,每个classes相当一个case,如果class里面不指定@test的方法,则执行所有@test方法参数parameter在test内则作用于整个case,如果放在class里面,则只作用于class内的方法最好要么用类,要么用方法的方式去配置,少些用包的形式去配置以下exclude是用来跳过某个测试用例...原创 2019-10-10 20:58:53 · 169 阅读 · 0 评论 -
selenium java 高级技巧篇(必学)多线程并发多个浏览器同时执行(十四)
使用testng多线程并发多个浏览器同时执行<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"><suite name="Suite" parallel="tests" Thread-count="2"> <...原创 2019-10-11 09:54:14 · 2009 阅读 · 0 评论 -
selenium java 高级技巧篇(必学)分组执行(十五)
结合testNG使用分组。1如果需要将用例分为成功或者失败组来进行测试,可以用到分组测试,首先在testng.xml文件中添加 <groups> <run> <include name="group1"></include> </run> </group...原创 2019-10-11 10:33:11 · 261 阅读 · 0 评论 -
selenium java 高级技巧篇(必学)TestNg依赖(十六)
测试中两个方法相互依赖,有执行顺序要求,那应该怎么依赖testng中使用dependsOnMethods1,首先在case用例中,添加firstCase,secondCase两个方法,并且在第二个方法中设置dependsOnMethods= {"firstCase"}package seleniumCase;import org.testng.annotations.Test;...原创 2019-10-11 11:23:40 · 313 阅读 · 0 评论 -
自动化测试面试题
一、testNG中注解有哪些二、TestNG有哪些优点TestNG的注释非常强大和方便TestNG允许并行测试TestNG可以给予group方式执行测试TestNG可以生成测试报表,并且报表展示多样化,可以在其基础上自行开发测试报告,插件以及测试监听器等三、什么是断言断言assert 用于代码中验证实际结果符合预期结果,如果测试用例失败,则抛出异常并且提供断言...原创 2019-10-11 11:34:02 · 373 阅读 · 0 评论 -
selenium java 高级技巧篇(必学)找不到元素如何封装(十七)
package seleniumPage;import org.apache.bcel.verifier.exc.StaticCodeConstraintException;import org.apache.log4j.Logger;import org.eclipse.jetty.util.statistic.SampleStatistic;import org.openqa.se...原创 2019-10-11 12:10:48 · 213 阅读 · 0 评论 -
maven+eclipse搭配(用maven管理selenium包)
Maven安装与配置一、需要准备的东西1. JDK2. Eclipse3. Maven程序包二、下载与安装1. 前往https://maven.apache.org/download.cgi下载最新版的Maven程序:2. 将文件解压到D:\Program Files\Apache\maven目录下:3. 新建环境变量MAVEN_HOME,赋值D:\Prog...原创 2019-09-29 16:03:54 · 450 阅读 · 0 评论 -
selenium 自动化测试用例设计
通常来说设计手工测试用例,粒度会非常细,比如一个电话号码格式,就有很多种,那需要全部转换为自动化测试用例吗?答案是否定的,在大公司,其实编写自动测试用例和编写测试脚本的属于不同的人,所以自动化测试用例编写需要进行更详细的步骤,并且不是所有的用例都需要编写自动化测试用例,只需要挑选每个功能点冒烟测试功能点即可*我们看到自动化测试用例的操作步骤比较细致*同时要说明在定位的元素,是在哪个...原创 2019-09-29 15:46:52 · 1339 阅读 · 1 评论 -
selenium+java form中定位元素问题
直接用driver.findElement()可以找到元素,但是操作就出问题,非要先定位到表单form,再定位元素,层级定位再操作才不会报错确认这个form下的元素都是这样的话,使用层级定位,可以解决这个问题 WebElement form1=driver.findElement(By.id("profile")); WebElement job=form1.f...原创 2019-09-28 18:38:53 · 3273 阅读 · 1 评论 -
selenium +java基础操作语句API
(一)环境安装之Java1.安装java点击JDK8下载,根据自己的平台,选择相应的版本进行下载。小知识:Java环境分JDK和JRE ,JDK就是Java Development Kit。简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。JRE是Java Runtime Enviroment是指Java的运行环境,是面向 Java 程序的使用者。...转载 2019-09-20 13:54:06 · 726 阅读 · 0 评论 -
java+selenium 对隐藏的元素进行操作失败 解决错误element not interactable
如下图登录功能,大部分都是在登录等功能上,需要点击登录后才浮现一个登录面板,此为隐藏的div,里面的input,button都是隐藏元素,针对隐藏元素,是可以定位到的,但是。。。。。。。。。。不能进行操作,操作元素包含click(),sendkeys()等功能,会报错如果报错误element not interactable 网上有些解释说隐藏元素不可以操作,要用js的方式(这个说法有点错误),...原创 2019-09-21 11:01:40 · 15393 阅读 · 1 评论 -
selenium 10大定位方式
Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素才能进行后续的自动化控制,我在这里将对各种元素定位方式进行总结归纳一下。这里将统一使用百度首页(www.baidu.com)进行示例,f12可以查看具体前端代码。WebDriver8种基本元素定位方式find_element_by_id()采用id属性进行定位。例如在百度页面...转载 2019-09-21 12:17:52 · 196 阅读 · 1 评论 -
java+selenium js常见控件操作
常见对界面元素进行操作的主要是管理cookie和浏览器窗口的方法对于window接口主要是用来控制浏览器窗口的设置。例如大小、最大、最小、全屏、位置等等。针对浏览器的属性属性:driver.current_url # 用于获得当前页面的URLdriver.title # 用于获取当前页面的...原创 2019-09-21 18:58:19 · 707 阅读 · 0 评论 -
selenium 有id但是经常定位不到解决办法
注意事项 可能原因: 1.需要定位的元素没有ID属性; 2.需要定位的元素存在ID属性,但需要定位的元素的父节点存在iframe或者frame,需要切换到包含所要定位元素的iframe或者frame中; 3.需要定位的元素存在ID属性,页面元素没有加载完成; 4.需要定位的元素存在ID属性,在自动化的代码中ID的属性值书写错误。 5.可能有多个...原创 2019-09-22 00:00:45 · 4261 阅读 · 0 评论 -
selenium java处理模态框alert
alert弹窗:confirm弹窗prompt弹窗(带了个文本框而已) 测试练习模态框的处理:<br><br> 1.警告框 <input type="button" id="input_1" value="点击弹出警告框"><br><br> 2.确认框 <input ...原创 2019-09-23 13:41:53 · 288 阅读 · 0 评论 -
selenium java 高级技巧篇(必学)定位篇一
复合型className,完整的定位不到,需要用部分的名称才可以定位到,比如:ipt ,ipt-pwd,分串才可以定位到如:driver.findElement(byClassName("js-pass-pwd"));定位元素唯一性在开发者工具中的console窗口,用js语法检查,当多个的情况,【1】里面是下标为1的元素当要定位的元素有form表单的情况,或者是属...原创 2019-09-27 12:05:06 · 495 阅读 · 0 评论 -
selenium java 高级技巧篇(必学)radio元素的处理(二)
radio元素性别处理原创 2019-09-27 12:45:30 · 370 阅读 · 1 评论 -
selenium java 高级技巧篇(必学)上传文件处理(三)
方法一:直接往上传的input文本框(页面看不到)输入文件绝对路劲就可以了(主要针对input类型的上传形式)方法二:针对上传标签不是input类型,就要用autoit方式进行上传点击上传图片,出现对话框,是系统弹出的对话框,我们没有办法识别打开autoIT检测到元素的class 为Edit,显示属性在右手边上再拖一次,定位打开按钮,检测到打开按钮的属性...原创 2019-09-27 17:40:46 · 1139 阅读 · 0 评论 -
selenium java 高级技巧篇(必学)webform提交表单(四)
方式一:点击登录或者提交按钮,用click()的方式来提交(登录一般采用post的方式提交,提交路径看不到参数)方式二:直接用webform的submit()方式提交(默认采用get方式提交,提交的路径可以看到参数,不安全)不建议在使用post提交的表单上用submit的形式提交,如果在get形式提交的表单上可以这样处理click方式处理我们可以看到以click()类型提交后...原创 2019-09-27 18:21:45 · 937 阅读 · 0 评论 -
selenium java 高级技巧篇(必学)下拉框处理方式(五)
2种处理方式首先模拟鼠标点中下拉框方式一:然后直接定位选择选项方式二:List方式,通过下标方式形式获取选项方式三:处理方式select方式方式一:点击职位下拉框,再通过定位option选项去选中使用代码如下1:先定位到form的位置所在2层级定位,再用form的元素定位下拉框,点击下去,展示列表3获取列表数组,再去选择点中第二种方式LIst...原创 2019-09-27 23:17:04 · 665 阅读 · 0 评论 -
selenium java 高级技巧篇(必学)鼠标事件(六)
原创 2019-09-28 00:03:40 · 239 阅读 · 0 评论 -
selenium java 高级技巧篇(必学)多窗口处理(七)
Iframe处理方式多窗口处理弹出窗口处理(如果处理弹出窗点击后导致页面修改,但是网页地址没有改的情况,可以根据需求进行刷新)刷新代码自己再去搜索确认或取消窗口操作...原创 2019-09-28 00:38:41 · 315 阅读 · 0 评论 -
selenium java 高级技巧篇(必学)面试
原理解释清楚但是在移动端定位不宜用xpath,因为定位效率比较低原创 2020-01-13 19:58:00 · 302 阅读 · 0 评论 -
selenium+java 等待方式
一、设置等待时间有三种方法:1、强制等待time.sleep(time) time.sleep(3000)# 强制等待3秒后,进行下一步操作,也可以是小数,单位为秒缺点:不能准确把握需要等待的时间(有时候操作未完成,等待就结束了,导致报错;有时候操作已经完成了,但时间还没到,浪费时间),如果再用例中大量使用,会浪费不必要的等待时间,影响用例的执行效率。优点:使...原创 2019-09-28 14:47:06 · 426 阅读 · 0 评论 -
selenium+java 判断元素是否存在
步骤1:创建一个判断类package Help;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;public class HaveOrNo { public Boolean check(WebDriver driver...原创 2019-09-28 15:08:00 · 4177 阅读 · 0 评论 -
Selenium无法定位元素的九种解决方案
一、frame/iframe表单嵌套WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌的页面元素无法直接定位。解决方法:driver.switch_to.frame(id/name/obj)。switch_to.frame()默认可以直接取表单的id或name属性。如果没有可用的id和name属性,可以先定位到frame/iframe,再将定位对象传给s...转载 2019-09-28 16:35:30 · 1583 阅读 · 0 评论 -
selenium +eclipse+firefox/chrome 环境全套搭配
selenium+java+driver+firefox+google+seleniumide!!!浏览器的自动更新一定要去掉...!!!版本会导致一系列问题,版本号不对应,未将驱动放到系统环境变量的Path下的文件加内,未将浏览器安装在默认的安装地址,都会导致启动错误准备安装文件:1,安装JDK,配置jdk环境变量2,eclipse安装文件下载安装3,下载...原创 2019-09-20 12:14:29 · 980 阅读 · 0 评论