- 博客(60)
- 资源 (1)
- 收藏
- 关注
原创 Selenide框架方法SelenideElement.java文件解析
SelenideElement.javasetValueSelenideElement setValue(string): 输入字符串valSelenideElement val():t要附加到文本字段中的任何文本。String val()Get the “value” attribute of the elementReturns: attribute “value” value or null if attribute is missing获取元素的“value”属性返回: 属性“
2021-09-20 13:14:51
481
转载 判断数组是否包含某个值 JAVA
判断数组是否包含某个值作为收藏,后续参考文章来源 https://www.jb51.net/article/97197.htm
2021-08-21 14:59:51
1121
原创 Java+ httpClient 测试接口
Post接口public void login() throws Exception { //创建httpclient链接 CloseableHttpClient client=HttpClients.createDefault(); //创建Post请求 HttpPost post=new HttpPost("http://index.php?s=/index/user/login.html"); //添加http请求头 post.setHeader("X-Requested-With",
2020-09-10 21:41:56
609
原创 Java算法 冒泡排序 回文数 斐波那契数列 素数
冒泡排序每次比较两个相邻的元素,将较大的元素交换至右端public static void bubble(Integer[] number,int n) { if (n<=1) return; int temp = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < number.length-1; j++) { if (number[j]>number[j+1]) { temp=num
2020-08-16 00:16:53
219
原创 Apache Benche进行压力测试及访问结果报告分析
Server Software: BWS/1.1 # 平台前端服务器类型Server Hostname: www.baidu.com # 服务器主机名Server Port: 80 # 服务器端口Document Path: / # 访问的路径Document Length: 178 bytes # 返回数据大小Co
2020-08-04 09:47:36
1556
原创 Jenkins输出extent-report 出现乱码
在任务配置中添加Post Steps->Execute System Groovy ScriptSystem.setProperty(“hudson.model.DirectoryBrowserSupport.CSP”, “”)确保第三方css、js 能够正常加载
2020-07-21 19:55:15
260
原创 SVN在Linux上环境搭建
SVN安装yum -y install subversion svnserve --versionmkdir -p /data/svn/test1创建SVN文件夹svnadmin create /data/svn/test1 创建SVN目录4.配置 authz passwd conf 文件vi authz vi passwdvi svnserve.conf启动SVNsvnserve -d -r /data/svn/test安装客户端,访问SVN服务器出现以下
2020-07-20 22:12:31
141
原创 Selenium Gride 分布式运行 docker简要配置
安装docker yum -y install dockerhttps://cr.console.aliyun.com/cn-qingdao/instances/mirrors 镜像加速器 获取镜像文件在/etc/docker/daemon.json 文件中添加 “registry-mirrors”: [“https://xqyh0p5t.mirror.aliyuncs.com”]systemctl daemon-reload 重新加载文件systemctl restart docker重启查看.
2020-07-20 20:42:18
136
原创 无接口环境时,使用mock环境测试
1. mock 应用在测试过程中,对于某些不容易获取的数据,用一个虚拟的对象来返回期望的数据,从而模拟了特定的测试场景。Mock可以作用于客户端,也可以作用于服务端2. mock jar包moco-runner-1.0.0-standalone.jar3.编辑json文件文件需要符合json格式[ { "description":"get请求", ”request“:{“method”:“get”, }, "response":{ “text”:"没有参数" } }
2020-07-16 15:55:37
759
原创 Java代码写方法,导入Jmeter库流程
1. 新建JAVA项目,将jar包导入,添加BuildPathjar包在Jmeter目录下的lib文件夹下的ext文件夹中,最主要的两个:如图:2. 新建package和方法类package的名称必须是 jmeter.test.functions,否则Jmeter无法识别按一定格式编写Java方法3.导出jar文件到Jmeter目录下的lib文件夹下的ext文件夹中4.重启Jmeter...
2020-07-06 21:49:50
385
原创 微信开启H5调试功能
微信公众号H5测试1.在微信聊天窗口输入 http://debugtbs.qq.com,进入页面2. 安装线上内核3. 进入DebugX54. 打开信息页面中H5相关配置以上步骤开启微信的调试功能;查看Chrome版本可以使用强转或原生的方式定位...
2020-06-07 23:44:11
7018
2
原创 Appium错误汇总
//错误信息解决:Matched W3C error code 'unknown command' to UnknownCommandError添加脚本语句jdesiredCapabilities.setCapability(AndroidMobileCapabilityType.CHROME_OPTIONS, ImmutableMap.of("w3c",false));
2020-06-07 22:21:49
1100
2
原创 Java脚本 Appium APP UIautomator交互原理
UIautomator2Appium的端口为4723, 通过该端口与脚本交互http://localhost:4723/wd/hub在移动端安装辅助APP(UIautomator2 server/ UIautomator2 test/Appium setting)端口转发8200(电脑端口)转发到6790(netty server)adb foward tcp:8200 tcp:6790Appium 通过访问电脑端口8200进而访问手机端口6790启动Uiautomator2 server
2020-06-07 18:45:40
278
原创 混合app--Hybrid App定位
混合app–Hybrid App定位检查网页是不是H5页面使用uiautomatorviewer 只能定位到一个框Hybrid App 指的就是原生界面和H5 界面交织在一起组合成一个app,那么对于移动端自动化来说,原生界面获取元素信息比较简单,对于混合app 中的H5 界面也叫webview1.先在源码中开启webview debug 模式, 再打一个包, 如何在源在APP 中启用WebView 调试, 开启调试后, Chrome DevTools 才能对WebView 进行远程调试;We
2020-06-06 14:52:10
613
原创 模拟键盘输入--Appium+java
模拟键盘输入–Appium输入小写字母bAndroidDriver<AndroidElement> driver;driver.pressKey(new KeyEvent(AndroidKey.B));输入数字1driver.pressKey(new KeyEvent(AndroidKey.DIGIT_1))模拟按下手机返回按键一般不建议使用,因为手机反应慢,苹果不适配driver.pressKey(new KeyEvent(AndroidKey.CAPS_LOCK));
2020-06-05 23:28:55
984
原创 支付宝手势密码--Appium
@BeforeClasspublic void init() throws Exception { driver=InitDriver.initDriverWithInstaller("bb27215f", "com.eg.android.AlipayGphone", "com.alipay.mobile.security.gesture.ui.GestureActivity");driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECON
2020-06-04 00:04:35
433
原创 切换显示屏显示后IntelliJ IDEA 整个窗口不显示问题解决
IntelliJ IDEA 整个窗口不显示问题解决原因是切换屏幕显示时,分辨率不一样,则窗口显示位置仍是原来的位置则显示不出来可以在workspace.xml中修改ProjectFrameBounds参数,x=0, 保存文件后重启idea,则从左上角打开project...
2020-06-03 10:50:25
2573
原创 使用selenium click元素后出现stale element reference: element is not attached to the page document错误解决
使用selenium定位日期弹框,点击某个日期后,出现元素不在document中原因:在执行到满足if条件语句后,点击日期,日期弹窗则隐藏,不在当前页面解决方法:将代码中的break语句注释去掉,点击选中后则不在执行注意:如果选择为默认选中的 日期则不会出现该错误其他搜索结果:若在其他情况下出现该语句,则需要重新刷新页面,查找元素,但不适用于本次错误;...
2020-06-02 16:48:15
4396
原创 Java+Appium定位andriod 手机app的元素
注:使用xpath 语句时,class即标签名.也可以在search中进行操作实例:driver.findElement(By.xpath("//[@text=‘确定’]")).click();driver.findElement(MobileBy.AndroidUIAutomator(“resourceId(“com.douban.frodo:id/icon”)”)).click();driver.findElement(MobileBy.AndroidUIAutomator(“text(..
2020-05-31 23:07:31
650
原创 手机元素定位方法uiautomatorviewer Appium
方法一:使用adb自带工具软件uiautomatorviewer1.文件路径:F:\java\app\sdk\tools\bin\uiautomatorviewer.bat2.双击打开:出现以下界面,点击框中按钮即可和当前所连接的设备同屏3.鼠标放在左侧元素上,右侧为定位信息:即可获得text/resource-id/class等熟悉信息.方法二:Appium桌面工具定位1.启动Appium桌面版软件,startserver2.输入设备连接参数信息后,start session,创建sess
2020-05-31 22:46:47
1142
原创 Appium日志分析 --安装登录豆瓣APP
```javaThe server is running//启动appium服务[Appium] Welcome to Appium v1.15.1[Appium] Non-default server args:[Appium] allowInsecure: {[Appium] }[Appium] denyInsecure: {[Appium] }[Appium] Appium REST http interface listener started on 0.0.0..
2020-05-30 11:26:03
1612
原创 adb的简单命令
adb connect 127.0.0.1:62001 连接到夜神模拟器adb install F:\app\douban.apk 安装豆瓣安装包(Android)adb install F:\app\douban.ipa 安装豆瓣安装包(ios)adb shell 进入Linux内核操作,Android基于Linux内核adb push F:\app\test.txt /data/local/tmp 将电脑文件复制到移动端adb pull /data/local/tmp/t
2020-05-26 23:00:47
165
原创 自动化测试的三种报告输出 reportng & allure_Report & extent _Report
1.reportng需要引入jar包 报告的格式简单 比较古老 可以修改源文件更改样式一般不用源码地址: https://github.com/dwdyer/reportng添加依赖:<!-- https://mvnrepository.com/artifact/org.uncommons/reportng --><dependency><groupId>org.uncommons</groupId><artifactId>r
2020-05-16 22:10:03
1748
原创 Selenium对cookie操作
Selenium对cookie操作有验证码的登录可以使用cookie绕过验证码登录在F12 Application中获取cookie的值 driver.get("baidu.com.html"); driver.manage().deleteAllCookies(); org.openqa.selenium.Cookie cookie=new org.openqa.selenium.Cookie("Name", "value"); driver.manage().addCookie(c
2020-05-11 21:06:43
435
原创 Idea配置Maven环境 selenium TestNG 创建类文件 Maven环境变量
1.确认版本是否匹配我的idea是2018版本的,开始下载了3.6.3版本Maven怎么也无法下载依赖,换成3.6.1版本Maven即可下载成功;2.在配置好Maven环境变量的基础上,在idea中做如下设置:3.Maven中setting文件增加以下内容setting文件位置:library路径设置: <localRepository>F:\MyDownloads\Maven\library</localRepository>阿里云镜像设置: <mi
2020-05-09 10:36:07
618
原创 selenium文件上传借助robot
借助robot工具完成键盘操作,来完成文件上传 StringSelection selectionString= new StringSelection("C:\\Users\\图片1.PNG");//选择文件路径 Toolkit.getDefaultToolkit().getSystemClipboard().setContents(selectionString, null);//将路径保存到剪切板中 Robot robot= new Robot(); //创建robot对象 // 按下ct..
2020-05-08 23:08:44
148
原创 selenium 中Select定位学习
遇到Select的元素,需要先创建Select的对象Select provinceSelect = new Select(province);在使用对象的方法进行定位provinceSelect.selectByIndex(1); //索引定位,索引 从0开始provinceSelect.selectByValue(“3”);//元素中的value值进行定位provinceSelect.selectByVisibleText(“四川”);//可视文本进行定位provinceSelect.getF
2020-05-08 22:37:46
491
原创 selenium失败测试用例后截图
截图需要使用截图工具,需要提前在pom.xml文件中增加依赖 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>增加待测试代码的try_catchFile file1=((Takes
2020-05-08 22:28:01
581
原创 JS弹窗定位 Alert使用
JS弹窗时,定位需要使用alertdriver.switchTo().alert(); //将driver切换到alert上org.openqa.selenium.Alert alert=driver.switchTo().alert();//定义一个新的alert变量alert.dismiss();//取消alert.accept(); //确定alert.sendKeys(“柯南”);//输入文字alert.getText();//获取弹窗文字...
2020-05-08 20:03:03
2172
原创 iframe的driver切换
iframe的driver切换用元素id或name值切换:输入id或name的值,可以直接把driver切换到该iframedriver.switchTo().frame(“name_or_id_iframe”);索引切换:driver切换到页面上所有的iframe中索引为0的iframe,即第一个iframedriver.switchTo().frame(0);使用元素对象,先定...
2020-05-02 19:50:32
405
原创 window切换时driver切换
iframe/window切换时driver切换通过页面的handle进行切换:首先将页面所有的handle放在集合中,转换成数组来选取哪一个句柄Set<String> windowHandles = driver.getWindowHandles(); String secondhadle =windowHandles.toArray([1].toString();//转...
2020-05-02 17:20:45
556
原创 CSS 简单的元素定位
CSS 元素定位id属性定位:前边加#,表示id属性定位#edui20_bodyclass属性定位:前边加,,表示class属性定位.edui20_body绝对路径定位:>或空格表示层级关系html>body>div>divhtml body div div或者直接输入标签名,也是绝对径搜索指定属性定位:一个属性定位:input[type=‘text’...
2020-05-02 14:07:37
455
原创 selenium显示等待和隐式等待使用及区别
selenium显示等待和隐式等待使用及区别1. 隐式等待Java语句:等待10秒表示查找元素时超时时间是10秒;如果没找到元素,那么查找元素会在10秒内,每隔半秒中去查找一 次元素,一旦找到则继续执行下一行代码 ;如果在10秒内都没找到该元素,代码才会报错 ;隐式等待的代码是一个设置,并且他只针对findelement方法生效;对于操作类型没用,比如在输入前加等待、点击前加等...
2020-05-01 23:32:34
2991
原创 selenium的一闪而过提示框断言
selenium的一闪而过提示框断言方法一:使用显示等待判断,使用input.getPageSource().contains(“期望语句”);来判断是否包含WebDriverWait wait=new WebDriverWait(driver,3);Boolean flag=wait.until(new ExpectedCondition() {@Overridepublic Bool...
2020-05-01 22:40:43
2371
原创 Selenium的元素定位
Selenium的元素定位By.linkText:以文字来定位a标签driver.findElement(By.linkText(“a标签的文字内容”));By.name:使用name属性查找driver.findElement(By.name(“name属性的值”);By.className:使用class属性查找driver.findElement(By.className(“cl...
2020-05-01 21:04:22
348
原创 Xpath的简单使用
Xpath的简单使用,百度为例Chrome浏览器,按下F12,选择element,按下Ctrl+f,调出Xpath搜索框/html/body/div/style 按html层级查找//相对路径:整个html任一层级找//style 找到所有style//div/div/a@标注哪一个属性,找到带属性name的标签//div/div/a[@name=‘tj_settingico...
2020-04-26 21:51:56
388
原创 Selenium在Eclipse上驱动Chrome浏览器
Selenium在Eclipse上驱动Chrome浏览器前提 Eclipse上配置好Selenium参考https://editor.youkuaiyun.com/md/?articleId=105737920下载Chrome浏览器驱动器配置Chrome驱动器的环境变量,在系统变量中添加Path路径在Path路径最后,加入Chrome浏览器驱动的目录,例如F:\Driver可以在cmd中输入...
2020-04-25 17:46:01
1080
原创 TestNG自动创建XML测试集合文件
前提Eclipse已经配置好TestNG1. 在src上右击,创建新的测试类,选择other-》TestNG如上设置后,会在project的src文件夹下创建xml文件,在包com1下创建类
2020-04-24 22:48:12
677
原创 Eclipse搭建Maven项目,pom文件配置
Eclipse搭建Maven项目1. File->new->other,搜索Maven,创建Maven project勾选一个,可以创建一个简单的工程,选择默认的执行路径输入组名和工程名,添加的工程如下2. 在pom.xml文件中添加jar包依赖,在pom.xml 文件中通过添加依赖描述指定要下载的jar 包,Eclipse 会自动从阿里云镜像仓库下载jar 包到本地仓...
2020-04-24 20:46:32
4436
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人