我也是这种情况,有时候觉得好孤单啊,况且我基本都是自己一人做项目,连个能讨论的人都没有,所以我现在想走了,想换个能交流思想的组。。。
真机可以用了吗?
请问这个操作支持 ios10 以上的系统吗??
demo 好像出了点什么问题呢:
请问 airtestIDE 的代码是开源的吗?github 上的开源代码并没有找到 ide 相关的内容呢?
可能在高中时候读的励志书籍 太多了,导致现在对这种书一点兴趣都没有,反倒是对很多传记感兴趣,讲一些自己经历的书,比如李思思《有点意思》,何炅《来得及》
握手
2017,把欠下的不 6,全都找回来~~
点个赞!
之前看过电子版的《时间简史》,这次能够借到这本书简直是我的荣幸,烧脑的书就要经常读,慢慢参透!感谢~~
#20 楼 @williamliuok 已加微信
#18 楼 @williamliuok 非常感谢您的详细回复,很受教,那么想继续追问个问题:关于无法用 back 键恢复的界面,您是怎么遍历其他按钮的呢?或者是也可以理解成,back 键直至退出 APP 了以后如何继续遍历那些为遍历的控件呢?我目前遍历后的遍历比率特别低,一些页面几乎是点击一个按钮就没再恢复了。
感谢!
前辈能否详细讲解一下判断界面是否是新界面的过程,具体对 xml 进行了什么操作,又是如何对比的?谢谢。
#31 楼 @ouyang995948959 请问您是采用什么方式判断是否是新界面的,我也在做 UI 遍历测试,希望探讨一下,谢谢。
您好,我的配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!--Appium 服务关键字-->
1.4.16
true
false
zh-Hans
E:/sohuVideoMobile_6.0.2_680_20161123125646.apk
9bb30df4
Android
4.4.2
vivo Xplay3S
com.sohu.sohuvideo
com.sohu.sohuvideo.ui.MainActivity
true
true
true
<!--引导流 关键字驱动,引导至所需模块再开始遍历-->
tips>>禁止 | 允许>>//android.widget.Button[@resource-id='com.huawei.systemmanager:id/btn_allow']
<!--滑动类型设置-->
slide>>2
<!--点击类型设置-->
click>>id::com.xxx.xxx:id/btnnext
click>>id::com.xxx.xxx:id/text_home_head_login
<!--输入类型设置-->
click>>id::com.xxx.xxx:id/otp_tv_login_with_username
input>>id::com.xxx.xxx:id/tv_loginAccount|13012345678
input>>id::com.xxx.xxx:id/loginPassword|123
click>>id::com.xxx.xxx:id/tv_login
<!--手势密码-->
gesture>>xpath:://android.widget.FrameLayout[@resource-id='com.xxx.xxx:id/gesture_container']//android.view.View[1]//android.widget.ImageView
gesture>>xpath:://android.widget.FrameLayout[@resource-id='com.xxx.xxx:id/gesture_container']//android.view.View[1]//android.widget.ImageView
<!--窗口鉴定策略,默认取前 8 个节点生成 md5-->
8
<!--Tab 窗口用 selected 区别,可能要多选几个节点到达-->
专题,直播,要闻,选股>>24
简单理财,投资,保险,贷款,信用卡>>30
<!--窗口执行顺序 1:从上到下 (默认) 2:从下到上-->
1
<!--控件白名单-->
UIAImage
UIAButton
UIASwitch
UIATableCell
UIAStaticText
UIAPickerWheel
UIACollectionCell
android.widget.Button
android.widget.ImageButton
android.widget.TextView
android.widget.ImageView
android.widget.FrameLayout
android.widget.LinearLayout
UIATextField
UIASearchBar
UIASecureTextField
android.widget.EditText
<!--启动界面提示框,包含的关键字及操作的控件-->
禁止 | 允许>>//android.widget.Button[@resource-id='com.huawei.systemmanager:id/btn_allow']
<!--无需返回的列表,需配置识别窗口唯一性的内容-->
首页
财经快讯,我,我的订单,活期,定期
<!--黑名单 支持 text,name,resourceId 的过滤-->
相机
退出登录
如您已完成添加,请重新登录
重新登录
//UIAApplication[1]/UIAWindow[4]/UIAPicker[1]/UIAPickerWheel[1]
//UIAApplication[1]/UIAWindow[1]/UIATableView[1]/UIATableCell[2]/UIACollectionView[1]/UIACollectionCell[5]
<!--触发器 条件>>动作 支持返回,点击,手势密码解锁,延时等待-->
拍照>>back
相册>>back
扫描框>>back
分享到>>back
我的权益>>delay->3
选择银行>>back
选择保险公司>>back
检测到新版本>>back
添加产品 | 保存>>back
消息 | 全部>>back
closeButton>>//android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.ImageButton
安全验证 | 立即验证 | 以后再说>>//android.widget.Button[@resource-id='xxx.xxx.xxx:id/rightBtn']
更多解锁方式>>gesture->//android.widget.FrameLayout[@resource-id='com.xxx.xxx:id/gesture_container']//android.view.View[1]//android.widget.ImageView
<!--过滤级别 1:clazz+text+content_desc+resourceId 2:winID+clazz+text+content_desc+resourceId 3:taskID-->
2
<!--退出遍历的条件:同一窗口内的停留次数-->
10
<!--app 日志-->
adb -s #udid# logcat -b main -b system -b events -b radio *:D | grep xxx
<!--Appium port-->
4723
<!--Appium host-->
127.0.0.1
<!--测试类型 1.android 2.ios 3.web-->
1
<!--运行模式 1.遍历模式 2.业务场景模式-->
1
<!--遍历深度-->
3
<!--截图和视频的目录-->
/Users/mac/Desktop/png
<!--启动 appium-->
/Applications/Appium.app/Contents/Resources/node/bin/node /Applications/Appium.app/Contents/Resources/node_modules/appium/bin/appium.js -p #port# -bp 5760 --session-override --command-timeout 7200 --udid #udid#
<!--遍历时间 分-->
10
<!--延时等待 秒-->
3
<!--超时 秒-->
30
运行时出现如下错误:
2016-11-24 18:33:22 sys_log : [INFO] Appium Server -> http://127.0.0.1:4723/wd/h
ub
log4j:WARN No appenders could be found for logger (org.apache.http.client.protoc
ol.RequestAddCookies).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserExceptio
n: Could not start a new session. Possible causes are invalid address of the rem
ote server or browser start-up failure.
Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 17:00:58'
System info: host: 'changhe-tj', ip: '10.7.40.59', os.name: 'Windows 7', os.arch
: 'amd64', os.version: '6.1', java.version: '1.8.0_91'
Driver info: driver.version: AndroidDriver
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.ja
va:665)
at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGener
icMobileDriver.java:43)
at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)
at io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.jav
a:1)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriv
er.java:249)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.jav
a:131)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.jav
a:144)
at io.appium.java_client.DefaultGenericMobileDriver.(DefaultGeneri
cMobileDriver.java:39)
at io.appium.java_client.AppiumDriver.(AppiumDriver.java:69)
at io.appium.java_client.AppiumDriver.(AppiumDriver.java:78)
at io.appium.java_client.android.AndroidDriver.(AndroidDriver.java
:67)
at pers.traveler.robot.Robot.beforeTravel(Robot.java:118)
at pers.traveler.robot.AndroidRobot.working(AndroidRobot.java:57)
at pers.traveler.robot.Robot.working(Robot.java:163)
at pers.traveler.robot.Robot.travel(Robot.java:202)
at pers.traveler.test.Main.main(Main.java:21)
Caused by: org.openqa.selenium.WebDriverException: org.apache.http.conn.HttpHost
ConnectException: Connect to 127.0.0.1:4723 [/127.0.0.1] failed: Connection refu
sed: connect
Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 17:00:58'
System info: host: 'changhe-tj', ip: '10.7.40.59', os.name: 'Windows 7', os.arch
: 'amd64', os.version: '6.1', java.version: '1.8.0_91'
Driver info: driver.version: AndroidDriver
at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumComm
andExecutor.java:76)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.ja
va:644)
... 15 more
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to 127.0.0.1:4
723 [/127.0.0.1] failed: Connection refused: connect
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect
(DefaultHttpClientConnectionOperator.java:151)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(
PoolingHttpClientConnectionManager.java:353)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClie
ntExec.java:380)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.
java:236)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java
:184)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java
:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttp
Client.java:184)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttp
Client.java:71)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttp
Client.java:55)
at org.openqa.selenium.remote.internal.ApacheHttpClient.fallBackExecute(
ApacheHttpClient.java:144)
at org.openqa.selenium.remote.internal.ApacheHttpClient.execute(ApacheHt
tpClient.java:90)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExe
cutor.java:142)
at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumComm
andExecutor.java:64)
... 16 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocke
t(PlainConnectionSocketFactory.java:74)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect
(DefaultHttpClientConnectionOperator.java:134)
... 29 more
2016-11-24 18:33:32 sys_log : [INFO] 遍历测试持续时间 -> 40.00s
2016-11-24 18:33:42 sys_log : [INFO] 遍历测试持续时间 -> 50.00s
2016-11-24 18:33:52 sys_log : [INFO] 遍历测试持续时间 -> 1.00m
2016-11-24 18:34:02 sys_log : [INFO] 遍历测试持续时间 -> 1.17m
2016-11-24 18:34:12 sys_log : [INFO] 遍历测试持续时间 -> 1.33m
请问这是什么原因呢??