JavascriptExecutor js = (JavascriptExecutor)driver;
HashMap<String,Double> tapObject = new HashMap<String,Double>();
tapObject.put("touchCount", new Double(1));
tapObject.put("x", new Double(x));//x=400
tapObject.put("y", new Double(y));//y=600
js.executeScript("mobile : tap", tapObject);
请附上 appium server 的 log 。
光凭上面你给的信息定位不了原因。
请粘贴一下 server 端打印出来的信息呢 。
SessionNotFoundException,看这个异常抛错,我就大概知道你是因为 appium 把你客户端的请求给 kill 了导致的。应该是你的客户端与 server 之间有段时间没联系了。
#3 楼 @pighero001 没有啊,其他操作都是正常的,操作到这里的时候就报这个错的
info: [debug] Trying to find a connected android device
info: [debug] Getting connected devices...
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 devices
info: [debug] 0 device(s) connected
info: [debug] Could not find devices, restarting adb server...
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 kill-server
info: [debug] Getting connected devices...
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 devices
info: [debug] 1 device(s) connected
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 "shell \"echo 'ping'\""
info: [debug] Error: Command failed: Android Debug Bridge version 1.0.31-a - directs adb to listen on all interfaces for a connection
-d - directs command to the only connected USB device
returns an error if more than one USB device is present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is running.
-s - directs command to the device or emulator with the given
serial number or qualifier. Overrides ANDROID_SERIAL
environment variable.
-p - simple product name like 'sooner', or
a relative/absolute path to a product
out directory like 'out/target/product/sooner'.
If -p is not specified, the ANDROID_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
-H - Name of adb server host (default: localhost)
-P - Port of adb server (default: 5037)
devices [-l] - list all connected devices
('-l' will also list device qualifiers)
connect [:] - connect to a device via TCP/IP
Port 5555 is used by default if no port number is specified.
disconnect [[:]] - disconnect from a TCP/IP device.
Port 5555 is used by default if no port number is specified.
Using this command with no additional arguments
will disconnect from all connected TCP/IP devices.device commands:
adb push - copy file/dir to device
adb pull [] - copy file/dir from device
adb sync [ ] - copy host->device only if changed
(-l means list but don't copy)
(see 'adb help all')
adb shell - run remote shell interactively
adb shell - run remote shell command
adb emu - run emulator console command
adb logcat [ ] - View device log
adb forward --list - list all forward socket connections.
the format is a list of lines with the following format:
" " " " "\n"
adb forward - forward socket connections
forward specs are one of:
tcp:
localabstract:
localreserved:
localfilesystem:
dev:
jdwp: (remote only)
adb forward --no-rebind
- same as 'adb forward ' but fails
if is already forwarded
adb forward --remove - remove a specific forward socket connection
adb forward --remove-all - remove all forward socket connections
adb jdwp - list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] [-s] [--algo --key --iv ]
- push this package file to the device and install it
('-l' means forward-lock the app)
('-r' means reinstall the app, keeping its data)
('-s' means install on SD card instead of internal storage)
('--algo', '--key', and '--iv' mean the file is encrypted already)
adb uninstall [-k] - remove this app package from the device
('-k' means keep the data and cache directories)
adb bugreport - return all information from the device
that should be included in a bug report.adb backup [-f ] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all] [-system|-nosystem] []
- write an archive of the device's data to .
If no -f option is supplied then the data is written
to "backup.ab" in the current directory.
(-apk|-noapk enable/disable backup of the .apks themselves
in the archive; the default is noapk.)
(-obb|-noobb enable/disable backup of any installed apk expansion
(aka .obb) files associated with each application; the default
is noobb.)
(-shared|-noshared enable/disable backup of the device's
shared storage / SD card contents; the default is noshared.)
(-all means to back up all installed applications)
(-system|-nosystem toggles whether -all automatically includes
system applications; the default is to include system apps)
( is the list of applications to be backed up. If
the -all or -shared flags are passed, then the package
list is optional. Applications explicitly given on the
command line will be included even if -nosystem would
ordinarily cause them to be omitted.)adb restore - restore device contents from the backup archive
adb help - show this help message
adb version - show version numscripting:
adb wait-for-device - block until device is online
adb start-server - ensure that there is a server running
adb kill-server - kill the server if it is running
adb get-state - prints: offline | bootloader | device
adb get-serialno - prints:
adb get-devpath - prints:
adb status-window - continuously print device status for a specified device
adb remount - remounts the /system partition on the device read-write
adb reboot [bootloader|recovery] - reboots the device, optionally into the bootloader or recovery program
adb reboot-bootloader - reboots the device into the bootloader
adb root - restarts the adbd daemon with root permissions
adb usb - restarts the adbd daemon listening on USB
adb tcpip - restarts the adbd daemon listening on TCP on the specified port
networking:
adb ppp [parameters] - Run PPP over USB.
Note: you should not automatically start a PPP connection.
refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
[parameters] - Eg. defaultroute debug dump local notty usepeerdnsadb sync notes: adb sync [ ]
can be interpreted in several ways:
If is not specified, both /system and /data partitions will be updated.
If it is "system" or "data", only the corresponding partition
is updated.environmental variables:
ADB_TRACE - Print debug information. A comma separated list of the following values
1 or all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, jdwp
ANDROID_SERIAL - The serial number to connect to. -s takes priority over this if given.
ANDROID_LOG_TAGS - When used with the logcat option, only these debug tags are printed.info: [debug] Stopping logcat capture
info: [debug] Logcat already stopped
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 kill-server
info: [debug] Waiting for device to be ready and to respond to shell commands (timeout = 5)
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 wait-for-device
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "echo 'ready'"
info: [debug] Starting logcat capture
info: [debug] Attempting to uninstall app
info: [debug] Not uninstalling app since server not started with --full-reset
info: [debug] Cleaning up android objects
info: [debug] Cleaning up appium session
info: --> POST /wd/hub/session/cfd9e971-3f8e-4934-9fc1-769957ae82bc/execute {"args":[{"touchCount":1,"y":600,"x":240}],"script":"mobile : tap"}
info: <-- POST /wd/hub/session/cfd9e971-3f8e-4934-9fc1-769957ae82bc/execute 404 1.768 ms - 40
#1 楼 @chenhengjie123 > info: [debug] Trying to find a connected android device
info: [debug] Getting connected devices...
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 devices
info: [debug] 0 device(s) connected
info: [debug] Could not find devices, restarting adb server...
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 kill-server
info: [debug] Getting connected devices...
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 devices
info: [debug] 1 device(s) connected
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 "shell \"echo 'ping'\""
info: [debug] Error: Command failed: Android Debug Bridge version 1.0.31-a - directs adb to listen on all interfaces for a connection
-d - directs command to the only connected USB device
returns an error if more than one USB device is present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is running.
-s - directs command to the device or emulator with the given
serial number or qualifier. Overrides ANDROID_SERIAL
environment variable.
-p - simple product name like 'sooner', or
a relative/absolute path to a product
out directory like 'out/target/product/sooner'.
If -p is not specified, the ANDROID_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
-H - Name of adb server host (default: localhost)
-P - Port of adb server (default: 5037)
devices [-l] - list all connected devices
('-l' will also list device qualifiers)
connect [:] - connect to a device via TCP/IP
Port 5555 is used by default if no port number is specified.
disconnect [[:]] - disconnect from a TCP/IP device.
Port 5555 is used by default if no port number is specified.
Using this command with no additional arguments
will disconnect from all connected TCP/IP devices.device commands:
adb push - copy file/dir to device
adb pull [] - copy file/dir from device
adb sync [ ] - copy host->device only if changed
(-l means list but don't copy)
(see 'adb help all')
adb shell - run remote shell interactively
adb shell - run remote shell command
adb emu - run emulator console command
adb logcat [ ] - View device log
adb forward --list - list all forward socket connections.
the format is a list of lines with the following format:
" " " " "\n"
adb forward - forward socket connections
forward specs are one of:
tcp:
localabstract:
localreserved:
localfilesystem:
dev:
jdwp: (remote only)
adb forward --no-rebind
- same as 'adb forward ' but fails
if is already forwarded
adb forward --remove - remove a specific forward socket connection
adb forward --remove-all - remove all forward socket connections
adb jdwp - list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] [-s] [--algo --key --iv ]
- push this package file to the device and install it
('-l' means forward-lock the app)
('-r' means reinstall the app, keeping its data)
('-s' means install on SD card instead of internal storage)
('--algo', '--key', and '--iv' mean the file is encrypted already)
adb uninstall [-k] - remove this app package from the device
('-k' means keep the data and cache directories)
adb bugreport - return all information from the device
that should be included in a bug report.adb backup [-f ] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all] [-system|-nosystem] []
- write an archive of the device's data to .
If no -f option is supplied then the data is written
to "backup.ab" in the current directory.
(-apk|-noapk enable/disable backup of the .apks themselves
in the archive; the default is noapk.)
(-obb|-noobb enable/disable backup of any installed apk expansion
(aka .obb) files associated with each application; the default
is noobb.)
(-shared|-noshared enable/disable backup of the device's
shared storage / SD card contents; the default is noshared.)
(-all means to back up all installed applications)
(-system|-nosystem toggles whether -all automatically includes
system applications; the default is to include system apps)
( is the list of applications to be backed up. If
the -all or -shared flags are passed, then the package
list is optional. Applications explicitly given on the
command line will be included even if -nosystem would
ordinarily cause them to be omitted.)adb restore - restore device contents from the backup archive
adb help - show this help message
adb version - show version numscripting:
adb wait-for-device - block until device is online
adb start-server - ensure that there is a server running
adb kill-server - kill the server if it is running
adb get-state - prints: offline | bootloader | device
adb get-serialno - prints:
adb get-devpath - prints:
adb status-window - continuously print device status for a specified device
adb remount - remounts the /system partition on the device read-write
adb reboot [bootloader|recovery] - reboots the device, optionally into the bootloader or recovery program
adb reboot-bootloader - reboots the device into the bootloader
adb root - restarts the adbd daemon with root permissions
adb usb - restarts the adbd daemon listening on USB
adb tcpip - restarts the adbd daemon listening on TCP on the specified port
networking:
adb ppp [parameters] - Run PPP over USB.
Note: you should not automatically start a PPP connection.
refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
[parameters] - Eg. defaultroute debug dump local notty usepeerdnsadb sync notes: adb sync [ ]
can be interpreted in several ways:
If is not specified, both /system and /data partitions will be updated.
If it is "system" or "data", only the corresponding partition
is updated.environmental variables:
ADB_TRACE - Print debug information. A comma separated list of the following values
1 or all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, jdwp
ANDROID_SERIAL - The serial number to connect to. -s takes priority over this if given.
ANDROID_LOG_TAGS - When used with the logcat option, only these debug tags are printed.info: [debug] Stopping logcat capture
info: [debug] Logcat already stopped
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 kill-server
info: [debug] Waiting for device to be ready and to respond to shell commands (timeout = 5)
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 wait-for-device
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "echo 'ready'"
info: [debug] Starting logcat capture
info: [debug] Attempting to uninstall app
info: [debug] Not uninstalling app since server not started with --full-reset
info: [debug] Cleaning up android objects
info: [debug] Cleaning up appium session
info: --> POST /wd/hub/session/cfd9e971-3f8e-4934-9fc1-769957ae82bc/execute {"args":[{"touchCount":1,"y":600,"x":240}],"script":"mobile : tap"}
info: <-- POST /wd/hub/session/cfd9e971-3f8e-4934-9fc1-769957ae82bc/execute 404 1.768 ms - 40
不好意思,我刚从开发转自动化测试,不太懂,信息的具体位置也找不准
从你的 log 看,你的 adb 执行
"D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 "shell \"echo 'ping'\""
这条命令时出错了,把 adb 命令的帮助信息打印出来了。(看起来是命令有语法错误,不过我之前没遇到过,需要你给一下 appium 版本才能确认)
然后由于这个出错,appium 重启了 adb server。然后后面出现了:
info: [debug] Starting logcat capture
info: [debug] Attempting to uninstall app
info: [debug] Not uninstalling app since server not started with --full-reset
info: [debug] Cleaning up android objects
info: [debug] Cleaning up appium session
表示终于成功连上设备了,但在它准备卸载应用时由于 appium server 启动参数中没有加入 --full-reset
,所以没有卸载,然后就关闭 session 了。
建议你把测试脚本完整代码、appium 版本、appium 启动参数都提供一下。
PS:代码块不要用引用语法。。。看得比较痛苦。。。
#1 楼 @chenhengjie123
是这样的,在模拟器上打电话时都会显示网络连接异常,然后等一下找挂机元素的时候就找不到,用 id 和坐标位置都不行
PS:大神辛苦了,以后一定多学多问多注意,~~~~~~~~
#9 楼 @bueaty 先声明一下,我不是大神。。。
显示网络异常,然后找挂机元素就出现 SessionNotFoundException
这个错误?
建议你参考这个帖子,把你的问题描述清楚,并把必要的 log 附上:
http://testerhome.com/topics/2287
——————————————————————————————————————————————————————————JAVA 代码
File classpathRoot = new File(System.getProperty("user.dir"));
File appDir = new File(classpathRoot, "app");
File app = new File(appDir, "ZQCY20150414_1.apk");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("platformName","Android");
capabilities.setCapability("deviceName","test");
capabilities.setCapability(CapabilityType.VERSION, "4.3");
capabilities.setCapability("app", app.getAbsolutePath());
capabilities.setCapability("app-package", "cn.com.qytx.zqcy.main.activity");
capabilities.setCapability("app-activity", ".MobileLoadActivity");
driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
List resultList = vnetObj.getWebElements(By.className("android.widget.RelativeLayout"));
WebElement resultOne = resultList.get(0);
WebElement phone = resultOne.findElement(By.id("cn.com.qytx.zqcy:id/ll_vnum_click"));
phone.click();
Thread.sleep(10000);
//用点击坐标的方式点击挂电话按钮
JavascriptExecutor js = (JavascriptExecutor) driver;
HashMap tapObject = new HashMap();
tapObject.put("touchCount", new Double(1));
tapObject.put("x", new Double(x));//x=400
tapObject.put("y", new Double(y));//y=600
js.executeScript("mobile : tap", tapObject);
____________________________________________________________________________________________________________________________________日志
Checking if an update is available
Update available to new version 1.3.4.2
Starting Node Server
info: Welcome to Appium v1.3.4 (REV c8c79a85fbd6870cd6fc3d66d038a115ebe22efe)
info: Appium REST http interface listener started on 127.0.0.1:4723
info: [debug] Non-default server args: {"address":"127.0.0.1","logNoColors":true,"platformName":"Android","platformVersion":"18","automationName":"Appium"}
info: Console LogLevel: debug
info: --> POST /wd/hub/session {"desiredCapabilities":{"app":"D:\Program Files (x86)\workspace\appium_txzl\app\ZQCY20150414_1.apk","platformName":"Android","deviceName":"test","app-package":"cn.com.qytx.zqcy.main.activity","app-activity":".MobileLoadActivity","version":"4.3"}}
info: Client User-Agent string: undefined
info: [debug] The following desired capabilities were provided, but not recognized by appium. They will be passed on to any other services running on this server. : app-package, app-activity, version
info: [debug] No appActivity desired capability or server param. Parsing from apk.
info: [debug] No appPackage desired capability or server param. Parsing from apk.
info: [debug] Using local app from desired caps: D:\Program Files (x86)\workspace\appium_txzl\app\ZQCY20150414_1.apk
info: [debug] Creating new appium session f48da48f-2a13-4809-bfc1-daef76f55261
info: Starting android appium
info: [debug] Getting Java version
info: Java version is: 1.6.0_45
info: [debug] Using fast reset? true
info: [debug] Preparing device for session
info: [debug] Checking whether app is actually present
info: [debug] Checking whether adb is present
info: [debug] Using adb from D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe
info: Retrieving device
info: [debug] Trying to find a connected android device
info: [debug] Getting connected devices...
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" devices
info: [debug] 1 device(s) connected
info: Found device emulator-5554
info: [debug] Setting device id to emulator-5554
info: [debug] Waiting for device to be ready and to respond to shell commands (timeout = 5)
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 wait-for-device
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "echo 'ready'"
info: [debug] Starting logcat capture
info: [debug] Parsing package and activity from app manifest
info: [debug] Checking whether aapt is present
info: [debug] Using aapt from D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\build-tools\android-4.3\aapt.exe
info: [debug] Extracting package and launch activity from manifest.
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\build-tools\android-4.3\aapt.exe" dump badging "D:\Program Files (x86)\workspace\appium_txzl\app\ZQCY20150414_1.apk"
info: [debug] badging package: cn.com.qytx.zqcy
info: [debug] badging act: cn.com.qytx.zqcy.main.activity.MobileLoadActivity
info: [debug] Parsed package and activity are: cn.com.qytx.zqcy/cn.com.qytx.zqcy.main.activity.MobileLoadActivity
info: [debug] Getting device API level
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "getprop ro.build.version.sdk"
info: [debug] Device is at API Level 18
info: Device API level is: 18
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "getprop persist.sys.language"
info: [debug] Current device persist.sys.language: en
info: [debug] java -jar "D:\Program Files (x86)\seleniumTools\Appium\node_modules\appium\node_modules\appium-adb\jars\appium_apk_tools_1.6.jar" "stringsFromApk" "D:\Program Files (x86)\workspace\appium_txzl\app\ZQCY20150414_1.apk" "C:\Users\qytx0819\AppData\Local\Temp\cn.com.qytx.zqcy" en
info: [debug] No strings.xml for language 'en', getting default strings.xml
info: [debug] java -jar "D:\Program Files (x86)\seleniumTools\Appium\node_modules\appium\node_modules\appium-adb\jars\appium_apk_tools_1.6.jar" "stringsFromApk" "D:\Program Files (x86)\workspace\appium_txzl\app\ZQCY20150414_1.apk" "C:\Users\qytx0819\AppData\Local\Temp\cn.com.qytx.zqcy"
warn: Error getting strings.xml from apk
info: [debug] Exception in thread "main" brut.androlib.AndrolibException: Could not decode arsc file
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:54)
at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:540)
at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:76)
at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:68)
at io.appium.apktools.StringsXML.run(StringsXML.java:84)
at io.appium.apktools.Main.main(Main.java:31)
Caused by: java.io.IOException: Expected: 0x001c0001, got: 0x00000000
at brut.util.ExtDataInput.skipCheckInt(ExtDataInput.java:48)
at brut.androlib.res.decoder.StringBlock.read(StringBlock.java:43)
at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:100)
at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:81)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:49)
... 5 moreinfo: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "echo '{}' > /data/local/tmp/strings.json"
info: [debug] Checking whether aapt is present
info: [debug] Using aapt from D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\build-tools\android-4.3\aapt.exe
info: [debug] Retrieving process from manifest.
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\build-tools\android-4.3\aapt.exe" dump xmltree "D:\Program Files (x86)\workspace\appium_txzl\app\ZQCY20150414_1.apk" AndroidManifest.xml
info: [debug] Set app process to: cn.com.qytx.zqcy
info: [debug] Not uninstalling app since server not started with --full-reset
info: [debug] Checking app cert for D:\Program Files (x86)\workspace\appium_txzl\app\ZQCY20150414_1.apk.
info: [debug] executing cmd: java -jar "D:\Program Files (x86)\seleniumTools\Appium\node_modules\appium\node_modules\appium-adb\jars\verify.jar" "D:\Program Files (x86)\workspace\appium_txzl\app\ZQCY20150414_1.apk"
info: [debug] App already signed.
info: [debug] Zip-aligning D:\Program Files (x86)\workspace\appium_txzl\app\ZQCY20150414_1.apk
info: [debug] Checking whether zipalign is present
info: [debug] Using zipalign from D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\tools\zipalign.exe
info: [debug] Zip-aligning apk.
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\tools\zipalign.exe" -f 4 "D:\Program Files (x86)\workspace\appium_txzl\app\ZQCY20150414_1.apk" C:\Users\qytx0819\AppData\Local\Temp\appium115323-13024-1clxwnt.tmp
info: [debug] MD5 for app is 130eafa69aa4199b1dd2c39b496a0cd6
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "ls /data/local/tmp/130eafa69aa4199b1dd2c39b496a0cd6.apk"
info: [debug] Getting install status for cn.com.qytx.zqcy
info: [debug] Getting device API level
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "getprop ro.build.version.sdk"
info: [debug] Device is at API Level 18
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "pm list packages -3 cn.com.qytx.zqcy"
info: [debug] App is installed
info: App is already installed, resetting app
info: [debug] Running fast reset (stop and clear)
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "am force-stop cn.com.qytx.zqcy"
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "pm clear cn.com.qytx.zqcy"
info: [debug] Forwarding system:4724 to device:4724
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 forward tcp:4724 tcp:4724
info: [debug] Pushing appium bootstrap to device...
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 push "D:\Program Files (x86)\seleniumTools\Appium\node_modules\appium\build\android_bootstrap\AppiumBootstrap.jar" /data/local/tmp/
info: [debug] Pushing settings apk to device...
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 install "D:\Program Files (x86)\seleniumTools\Appium\node_modules\appium\build\settings_apk\settings_apk-debug.apk"
info: [debug] Pushing unlock helper app to device...
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 install "D:\Program Files (x86)\seleniumTools\Appium\node_modules\appium\build\unlock_apk\unlock_apk-debug.apk"
info: Starting App
info: [debug] Attempting to kill all 'uiautomator' processes
info: [debug] Getting all processes with 'uiautomator'
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "ps 'uiautomator'"
info: [debug] No matching processes found
info: [debug] Running bootstrap
info: [debug] spawning: D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe -s emulator-5554 shell uiautomator runtest AppiumBootstrap.jar -c io.appium.android.bootstrap.Bootstrap
info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: current=1
info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: id=UiAutomatorTestRunner
info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: class=io.appium.android.bootstrap.Bootstrap
info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: stream=
info: [debug] [UIAUTOMATOR STDOUT] io.appium.android.bootstrap.Bootstrap:
info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: numtests=1
info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: test=testRunServer
info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS_CODE: 1
info: [debug] [BOOTSTRAP] [debug] Socket opened on port 4724
info: [debug] [BOOTSTRAP] [debug] Appium Socket Server Ready
info: [debug] [BOOTSTRAP] [debug] Loading json...
info: [debug] Waking up device if it's not alive
info: [debug] Pushing command to appium work queue: ["wake",{}]
info: [debug] [BOOTSTRAP] [debug] json loading complete.
info: [debug] [BOOTSTRAP] [debug] Registered crash watchers.
info: [debug] [BOOTSTRAP] [debug] Client connected
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"wake","params":{}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: wake
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "dumpsys window"
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Screen already unlocked, continuing.
info: [debug] Pushing command to appium work queue: ["getDataDir",{}]
info: [debug] dataDir set to: /data
info: [debug] Pushing command to appium work queue: ["compressedLayoutHierarchy",{"compressLayout":false}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"getDataDir","params":{}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: getDataDir
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":"\/data","status":0}
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"compressedLayoutHierarchy","params":{"compressLayout":false}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: compressedLayoutHierarchy
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":false,"status":0}
info: [debug] Getting device API level
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "getprop ro.build.version.sdk"
info: [debug] Device is at API Level 18
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "am start -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000 -n cn.com.qytx.zqcy/cn.com.qytx.zqcy.main.activity.MobileLoadActivity"
info: [debug] Waiting for pkg "cn.com.qytx.zqcy" and activity "cn.com.qytx.zqcy.main.activity.MobileLoadActivity" to be focused
info: [debug] Getting focused package and activity
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "dumpsys window windows"
info: [debug] Getting focused package and activity
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "dumpsys window windows"
info: [debug] Device launched! Ready for commands
info: [debug] Setting command timeout to the default of 60 secs
info: [debug] Appium session started with sessionId f48da48f-2a13-4809-bfc1-daef76f55261
info: <-- POST /wd/hub/session 303 21391.386 ms - 9
info: --> GET /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261 {}
info: [debug] Responding to client with success: {"status":0,"value":{"platform":"LINUX","browserName":"Android","platformVersion":"4.1","webStorageEnabled":false,"takesScreenshot":true,"javascriptEnabled":true,"databaseEnabled":false,"networkConnectionEnabled":true,"locationContextEnabled":false,"warnings":{},"desired":{"app":"D:\Program Files (x86)\workspace\appium_txzl\app\ZQCY20150414_1.apk","platformName":"Android","deviceName":"test","app-package":"cn.com.qytx.zqcy.main.activity","app-activity":".MobileLoadActivity","version":"4.3"},"app":"D:\Program Files (x86)\workspace\appium_txzl\app\ZQCY20150414_1.apk","platformName":"Android","deviceName":"test","app-package":"cn.com.qytx.zqcy.main.activity","app-activity":".MobileLoadActivity","version":"4.3"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- GET /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261 200 1.670 ms - 779 {"status":0,"value":{"platform":"LINUX","browserName":"Android","platformVersion":"4.1","webStorageEnabled":false,"takesScreenshot":true,"javascriptEnabled":true,"databaseEnabled":false,"networkConnectionEnabled":true,"locationContextEnabled":false,"warnings":{},"desired":{"app":"D:\Program Files (x86)\workspace\appium_txzl\app\ZQCY20150414_1.apk","platformName":"Android","deviceName":"test","app-package":"cn.com.qytx.zqcy.main.activity","app-activity":".MobileLoadActivity","version":"4.3"},"app":"D:\Program Files (x86)\workspace\appium_txzl\app\ZQCY20150414_1.apk","platformName":"Android","deviceName":"test","app-package":"cn.com.qytx.zqcy.main.activity","app-activity":".MobileLoadActivity","version":"4.3"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/execute {"args":[{"startX":0.95,"startY":0.5,"endX":0.05,"endY":0.5}],"script":"mobile: flick"}
info: [debug] Pushing command to appium work queue: ["swipe",{"startX":0.95,"startY":0.5,"endX":0.05,"endY":0.5,"steps":6}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"swipe","params":{"startX":0.95,"startY":0.5,"endX":0.05,"endY":0.5,"steps":6}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: swipe
info: [debug] [BOOTSTRAP] [debug] Display bounds: [0,0][480,800]
info: [debug] [BOOTSTRAP] [debug] Display bounds: [0,0][480,800]
info: [debug] [BOOTSTRAP] [debug] Swiping from [x=456.0, y=400.0] to [x=24.0, y=400.0] with steps: 6
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/execute 200 547.512 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/execute {"args":[{"startX":0.95,"startY":0.5,"endX":0.05,"endY":0.5}],"script":"mobile: flick"}
info: [debug] Pushing command to appium work queue: ["swipe",{"startX":0.95,"startY":0.5,"endX":0.05,"endY":0.5,"steps":6}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"swipe","params":{"startX":0.95,"startY":0.5,"endX":0.05,"endY":0.5,"steps":6}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: swipe
info: [debug] [BOOTSTRAP] [debug] Display bounds: [0,0][480,800]
info: [debug] [BOOTSTRAP] [debug] Display bounds: [0,0][480,800]
info: [debug] [BOOTSTRAP] [debug] Swiping from [x=456.0, y=400.0] to [x=24.0, y=400.0] with steps: 6
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/execute 200 464.486 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/execute {"args":[{"startX":0.95,"startY":0.5,"endX":0.05,"endY":0.5}],"script":"mobile: flick"}
info: [debug] Pushing command to appium work queue: ["swipe",{"startX":0.95,"startY":0.5,"endX":0.05,"endY":0.5,"steps":6}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"swipe","params":{"startX":0.95,"startY":0.5,"endX":0.05,"endY":0.5,"steps":6}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: swipe
info: [debug] [BOOTSTRAP] [debug] Display bounds: [0,0][480,800]
info: [debug] [BOOTSTRAP] [debug] Display bounds: [0,0][480,800]
info: [debug] [BOOTSTRAP] [debug] Swiping from [x=456.0, y=400.0] to [x=24.0, y=400.0] with steps: 6
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/execute 200 355.722 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/execute {"args":[{"startX":0.95,"startY":0.5,"endX":0.05,"endY":0.5}],"script":"mobile: flick"}
info: [debug] Pushing command to appium work queue: ["swipe",{"startX":0.95,"startY":0.5,"endX":0.05,"endY":0.5,"steps":6}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"swipe","params":{"startX":0.95,"startY":0.5,"endX":0.05,"endY":0.5,"steps":6}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: swipe
info: [debug] [BOOTSTRAP] [debug] Display bounds: [0,0][480,800]
info: [debug] [BOOTSTRAP] [debug] Display bounds: [0,0][480,800]
info: [debug] [BOOTSTRAP] [debug] Swiping from [x=456.0, y=400.0] to [x=24.0, y=400.0] with steps: 6
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/execute 200 340.579 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/execute {"args":[{"startX":0.95,"startY":0.5,"endX":0.05,"endY":0.5}],"script":"mobile: flick"}
info: [debug] Pushing command to appium work queue: ["swipe",{"startX":0.95,"startY":0.5,"endX":0.05,"endY":0.5,"steps":6}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"swipe","params":{"startX":0.95,"startY":0.5,"endX":0.05,"endY":0.5,"steps":6}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: swipe
info: [debug] [BOOTSTRAP] [debug] Display bounds: [0,0][480,800]
info: [debug] [BOOTSTRAP] [debug] Display bounds: [0,0][480,800]
info: [debug] [BOOTSTRAP] [debug] Swiping from [x=456.0, y=400.0] to [x=24.0, y=400.0] with steps: 6
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/execute 200 520.763 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element {"using":"id","value":"cn.com.qytx.zqcy:id/btn_comein"}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: ["find",{"strategy":"id","selector":"cn.com.qytx.zqcy:id/btn_comein","context":"","multiple":false}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"id","selector":"cn.com.qytx.zqcy:id/btn_comein","context":"","multiple":false}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding cn.com.qytx.zqcy:id/btn_comein using ID with the contextId: multiple: false
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[INSTANCE=0, RESOURCE_ID=cn.com.qytx.zqcy:id/btn_comein]
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":{"ELEMENT":"1"},"status":0}
info: [debug] Responding to client with success: {"status":0,"value":{"ELEMENT":"1"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element 200 69.887 ms - 87 {"status":0,"value":{"ELEMENT":"1"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/1/click {"id":"1"}
info: [debug] Pushing command to appium work queue: ["element:click",{"elementId":"1"}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:click","params":{"elementId":"1"}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: click
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/1/click 200 3189.022 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element {"using":"id","value":"cn.com.qytx.zqcy:id/txtUserName"}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: ["find",{"strategy":"id","selector":"cn.com.qytx.zqcy:id/txtUserName","context":"","multiple":false}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"id","selector":"cn.com.qytx.zqcy:id/txtUserName","context":"","multiple":false}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding cn.com.qytx.zqcy:id/txtUserName using ID with the contextId: multiple: false
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[INSTANCE=0, RESOURCE_ID=cn.com.qytx.zqcy:id/txtUserName]
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":{"ELEMENT":"2"},"status":0}
info: [debug] Responding to client with success: {"status":0,"value":{"ELEMENT":"2"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element 200 134.701 ms - 87 {"status":0,"value":{"ELEMENT":"2"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element {"using":"id","value":"cn.com.qytx.zqcy:id/txtPassword"}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: ["find",{"strategy":"id","selector":"cn.com.qytx.zqcy:id/txtPassword","context":"","multiple":false}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"id","selector":"cn.com.qytx.zqcy:id/txtPassword","context":"","multiple":false}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding cn.com.qytx.zqcy:id/txtPassword using ID with the contextId: multiple: false
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[INSTANCE=0, RESOURCE_ID=cn.com.qytx.zqcy:id/txtPassword]
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":{"ELEMENT":"3"},"status":0}
info: [debug] Responding to client with success: {"status":0,"value":{"ELEMENT":"3"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element 200 61.272 ms - 87 {"status":0,"value":{"ELEMENT":"3"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element {"using":"id","value":"cn.com.qytx.zqcy:id/btnLogin"}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: ["find",{"strategy":"id","selector":"cn.com.qytx.zqcy:id/btnLogin","context":"","multiple":false}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"id","selector":"cn.com.qytx.zqcy:id/btnLogin","context":"","multiple":false}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding cn.com.qytx.zqcy:id/btnLogin using ID with the contextId: multiple: false
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[INSTANCE=0, RESOURCE_ID=cn.com.qytx.zqcy:id/btnLogin]
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":{"ELEMENT":"4"},"status":0}
info: [debug] Responding to client with success: {"status":0,"value":{"ELEMENT":"4"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element 200 74.405 ms - 87 {"status":0,"value":{"ELEMENT":"4"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/2/click {"id":"2"}
info: [debug] Pushing command to appium work queue: ["element:click",{"elementId":"2"}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:click","params":{"elementId":"2"}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: click
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/2/click 200 502.192 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/2/clear {"id":"2"}
info: [debug] Pushing command to appium work queue: ["element:clear",{"elementId":"2"}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:clear","params":{"elementId":"2"}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: clear
info: [debug] [BOOTSTRAP] [debug] Attempting to clear using UiObject.clearText().
info: [debug] [BOOTSTRAP] [debug] Updating class "class com.android.uiautomator.core.UiDevice" to enable field "mUiAutomationBridge"
info: [debug] [BOOTSTRAP] [debug] Updating class "class com.android.uiautomator.core.UiAutomatorBridge" to enable field "mInteractionController"
info: [debug] [BOOTSTRAP] [debug] Finding methods on class: class com.android.uiautomator.core.InteractionController
info: [debug] [BOOTSTRAP] [debug] Text remains after clearing, but it appears to be hint text.
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/2/clear 200 2878.940 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/2/value {"id":"2","value":["15981807826"]}
info: [debug] Pushing command to appium work queue: ["element:setText",{"elementId":"2","text":"15981807826","replace":false}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:setText","params":{"elementId":"2","text":"15981807826","replace":false}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: setText
info: [debug] [BOOTSTRAP] [debug] Attempting to clear using UiObject.clearText().
info: [debug] [BOOTSTRAP] [debug] Updating class "class com.android.uiautomator.core.UiDevice" to enable field "mUiAutomationBridge"
info: [debug] [BOOTSTRAP] [debug] Updating class "class com.android.uiautomator.core.UiAutomatorBridge" to enable field "mInteractionController"
info: [debug] [BOOTSTRAP] [debug] Finding methods on class: class com.android.uiautomator.core.InteractionController
info: [debug] [BOOTSTRAP] [debug] Text remains after clearing, but it appears to be hint text.
info: [debug] [BOOTSTRAP] [debug] Text not cleared. Assuming remainder is hint text.
info: [debug] [BOOTSTRAP] [debug] Sending plain text to element: 15981807826
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/2/value 200 7911.725 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/3/click {"id":"3"}
info: [debug] Pushing command to appium work queue: ["element:click",{"elementId":"3"}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:click","params":{"elementId":"3"}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: click
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/3/click 200 825.613 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/3/clear {"id":"3"}
info: [debug] Pushing command to appium work queue: ["element:clear",{"elementId":"3"}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:clear","params":{"elementId":"3"}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: clear
info: [debug] [BOOTSTRAP] [debug] Attempting to clear using UiObject.clearText().
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/3/clear 200 2716.480 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/3/value {"id":"3","value":["123456"]}
info: [debug] Pushing command to appium work queue: ["element:setText",{"elementId":"3","text":"123456","replace":false}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:setText","params":{"elementId":"3","text":"123456","replace":false}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: setText
info: [debug] [BOOTSTRAP] [debug] Attempting to clear using UiObject.clearText().
info: [debug] [BOOTSTRAP] [debug] Sending plain text to element: 123456
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/3/value 200 4952.197 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/4/click {"id":"4"}
info: [debug] Pushing command to appium work queue: ["element:click",{"elementId":"4"}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:click","params":{"elementId":"4"}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: click
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/4/click 200 1140.285 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element {"using":"class name","value":"android.widget.TextView"}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: ["find",{"strategy":"class name","selector":"android.widget.TextView","context":"","multiple":false}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"class name","selector":"android.widget.TextView","context":"","multiple":false}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding android.widget.TextView using CLASS_NAME with the contextId: multiple: false
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[CLASS=android.widget.TextView, INSTANCE=0]
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":"No element found","status":7}
info: [debug] Condition unmet after 3090ms. Timing out.
info: [debug] Responding to client with error: {"status":7,"value":{"message":"An element could not be located on the page using the given search parameters.","origValue":"No element found"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element 500 3090.977 ms - 195
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element {"using":"id","value":"cn.com.qytx.zqcy:id/btnLogin"}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: ["find",{"strategy":"id","selector":"cn.com.qytx.zqcy:id/btnLogin","context":"","multiple":false}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"id","selector":"cn.com.qytx.zqcy:id/btnLogin","context":"","multiple":false}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding cn.com.qytx.zqcy:id/btnLogin using ID with the contextId: multiple: false
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[INSTANCE=0, RESOURCE_ID=cn.com.qytx.zqcy:id/btnLogin]
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":"No element found","status":7}
info: [debug] Condition unmet after 1199ms. Timing out.
info: [debug] Responding to client with error: {"status":7,"value":{"message":"An element could not be located on the page using the given search parameters.","origValue":"No element found"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element 500 1200.980 ms - 195
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element {"using":"id","value":"cn.com.qytx.zqcy:id/basePopTowButtonCancleId"}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: ["find",{"strategy":"id","selector":"cn.com.qytx.zqcy:id/basePopTowButtonCancleId","context":"","multiple":false}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"id","selector":"cn.com.qytx.zqcy:id/basePopTowButtonCancleId","context":"","multiple":false}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding cn.com.qytx.zqcy:id/basePopTowButtonCancleId using ID with the contextId: multiple: false
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[INSTANCE=0, RESOURCE_ID=cn.com.qytx.zqcy:id/basePopTowButtonCancleId]
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":{"ELEMENT":"5"},"status":0}
info: [debug] Responding to client with success: {"status":0,"value":{"ELEMENT":"5"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element 200 130.681 ms - 87 {"status":0,"value":{"ELEMENT":"5"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/5/click {"id":"5"}
info: [debug] Pushing command to appium work queue: ["element:click",{"elementId":"5"}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:click","params":{"elementId":"5"}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: click
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/5/click 200 3782.784 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element {"using":"id","value":"cn.com.qytx.zqcy:id/radio_callrecords"}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: ["find",{"strategy":"id","selector":"cn.com.qytx.zqcy:id/radio_callrecords","context":"","multiple":false}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"id","selector":"cn.com.qytx.zqcy:id/radio_callrecords","context":"","multiple":false}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding cn.com.qytx.zqcy:id/radio_callrecords using ID with the contextId: multiple: false
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[INSTANCE=0, RESOURCE_ID=cn.com.qytx.zqcy:id/radio_callrecords]
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":{"ELEMENT":"6"},"status":0}
info: [debug] Responding to client with success: {"status":0,"value":{"ELEMENT":"6"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element 200 249.602 ms - 87 {"status":0,"value":{"ELEMENT":"6"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> GET /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/6/text {}
info: [debug] Pushing command to appium work queue: ["element:getText",{"elementId":"6"}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:getText","params":{"elementId":"6"}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: getText
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":"鎷ㄥ彿","status":0}
info: [debug] Responding to client with success: {"status":0,"value":"鎷ㄥ彿","sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- GET /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/6/text 200 304.961 ms - 80 {"status":0,"value":"鎷ㄥ彿","sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element {"using":"id","value":"cn.com.qytx.zqcy:id/radio_appcenter"}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: ["find",{"strategy":"id","selector":"cn.com.qytx.zqcy:id/radio_appcenter","context":"","multiple":false}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"id","selector":"cn.com.qytx.zqcy:id/radio_appcenter","context":"","multiple":false}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding cn.com.qytx.zqcy:id/radio_appcenter using ID with the contextId: multiple: false
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[INSTANCE=0, RESOURCE_ID=cn.com.qytx.zqcy:id/radio_appcenter]
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":{"ELEMENT":"7"},"status":0}
info: [debug] Responding to client with success: {"status":0,"value":{"ELEMENT":"7"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element 200 409.968 ms - 87 {"status":0,"value":{"ELEMENT":"7"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/7/click {"id":"7"}
info: [debug] Pushing command to appium work queue: ["element:click",{"elementId":"7"}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:click","params":{"elementId":"7"}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: click
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/7/click 200 3436.860 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/elements {"using":"id","value":"cn.com.qytx.zqcy:id/ll_bg"}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: ["find",{"strategy":"id","selector":"cn.com.qytx.zqcy:id/ll_bg","context":"","multiple":true}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"id","selector":"cn.com.qytx.zqcy:id/ll_bg","context":"","multiple":true}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding cn.com.qytx.zqcy:id/ll_bg using ID with the contextId: multiple: true
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] getElements selector:UiSelector[RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (0)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (1)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[INSTANCE=1, RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (2)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[INSTANCE=2, RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (3)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[INSTANCE=3, RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (4)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[INSTANCE=4, RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (5)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[INSTANCE=5, RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (6)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[INSTANCE=6, RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (7)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[INSTANCE=7, RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (8)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[INSTANCE=8, RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (9)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[INSTANCE=9, RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (10)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[INSTANCE=10, RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (11)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[INSTANCE=11, RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (12)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[INSTANCE=12, RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (13)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[INSTANCE=13, RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (14)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[INSTANCE=14, RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (15)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[INSTANCE=15, RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (16)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[INSTANCE=16, RESOURCE_ID=cn.com.qytx.zqcy:id/ll_bg]
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":[{"ELEMENT":"8"},{"ELEMENT":"9"},{"ELEMENT":"10"},{"ELEMENT":"11"},{"ELEMENT":"12"},{"ELEMENT":"13"},{"ELEMENT":"14"},{"ELEMENT":"15"},{"ELEMENT":"16"},{"ELEMENT":"17"},{"ELEMENT":"18"},{"ELEMENT":"19"},{"ELEMENT":"20"},{"ELEMENT":"21"},{"ELEMENT":"22"},{"ELEMENT":"23"}],"status":0}
info: [debug] Responding to client with success: {"status":0,"value":[{"ELEMENT":"8"},{"ELEMENT":"9"},{"ELEMENT":"10"},{"ELEMENT":"11"},{"ELEMENT":"12"},{"ELEMENT":"13"},{"ELEMENT":"14"},{"ELEMENT":"15"},{"ELEMENT":"16"},{"ELEMENT":"17"},{"ELEMENT":"18"},{"ELEMENT":"19"},{"ELEMENT":"20"},{"ELEMENT":"21"},{"ELEMENT":"22"},{"ELEMENT":"23"}],"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/elements 200 11323.816 ms - 343 {"status":0,"value":[{"ELEMENT":"8"},{"ELEMENT":"9"},{"ELEMENT":"10"},{"ELEMENT":"11"},{"ELEMENT":"12"},{"ELEMENT":"13"},{"ELEMENT":"14"},{"ELEMENT":"15"},{"ELEMENT":"16"},{"ELEMENT":"17"},{"ELEMENT":"18"},{"ELEMENT":"19"},{"ELEMENT":"20"},{"ELEMENT":"21"},{"ELEMENT":"22"},{"ELEMENT":"23"}],"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/23/click {"id":"23"}
info: [debug] Pushing command to appium work queue: ["element:click",{"elementId":"23"}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:click","params":{"elementId":"23"}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: click
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/23/click 200 2871.491 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/elements {"using":"class name","value":"android.widget.TextView"}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: ["find",{"strategy":"class name","selector":"android.widget.TextView","context":"","multiple":true}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"class name","selector":"android.widget.TextView","context":"","multiple":true}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding android.widget.TextView using CLASS_NAME with the contextId: multiple: true
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[CLASS=android.widget.TextView]
info: [debug] [BOOTSTRAP] [debug] getElements selector:UiSelector[CLASS=android.widget.TextView]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (0)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=0]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (1)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=1]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (2)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=2]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (3)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=3]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (4)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=4]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (5)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=5]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (6)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=6]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (7)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=7]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (8)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=8]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (9)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=9]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (10)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=10]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (11)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=11]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (12)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=12]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (13)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=13]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (14)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=14]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (15)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=15]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (16)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=16]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (17)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=17]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (18)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=18]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (19)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=19]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (20)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=20]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (21)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=21]
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":[{"ELEMENT":"24"},{"ELEMENT":"25"},{"ELEMENT":"26"},{"ELEMENT":"27"},{"ELEMENT":"28"},{"ELEMENT":"29"},{"ELEMENT":"30"},{"ELEMENT":"31"},{"ELEMENT":"32"},{"ELEMENT":"33"},{"ELEMENT":"34"},{"ELEMENT":"35"},{"ELEMENT":"36"},{"ELEMENT":"37"},{"ELEMENT":"38"},{"ELEMENT":"39"},{"ELEMENT":"40"},{"ELEMENT":"41"},{"ELEMENT":"42"},{"ELEMENT":"43"},{"ELEMENT":"44"}],"status":0}
info: [debug] Responding to client with success: {"status":0,"value":[{"ELEMENT":"24"},{"ELEMENT":"25"},{"ELEMENT":"26"},{"ELEMENT":"27"},{"ELEMENT":"28"},{"ELEMENT":"29"},{"ELEMENT":"30"},{"ELEMENT":"31"},{"ELEMENT":"32"},{"ELEMENT":"33"},{"ELEMENT":"34"},{"ELEMENT":"35"},{"ELEMENT":"36"},{"ELEMENT":"37"},{"ELEMENT":"38"},{"ELEMENT":"39"},{"ELEMENT":"40"},{"ELEMENT":"41"},{"ELEMENT":"42"},{"ELEMENT":"43"},{"ELEMENT":"44"}],"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/elements 200 4696.839 ms - 430 {"status":0,"value":[{"ELEMENT":"24"},{"ELEMENT":"25"},{"ELEMENT":"26"},{"ELEMENT":"27"},{"ELEMENT":"28"},{"ELEMENT":"29"},{"ELEMENT":"30"},{"ELEMENT":"31"},{"ELEMENT":"32"},{"ELEMENT":"33"},{"ELEMENT":"34"},{"ELEMENT":"35"},{"ELEMENT":"36"},{"ELEMENT":"37"},{"ELEMENT":"38"},{"ELEMENT":"39"},{"ELEMENT":"40"},{"ELEMENT":"41"},{"ELEMENT":"42"},{"ELEMENT":"43"},{"ELEMENT":"44"}],"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> GET /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/24/text {}
info: [debug] Pushing command to appium work queue: ["element:getText",{"elementId":"24"}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:getText","params":{"elementId":"24"}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: getText
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":"甯哥敤鍙风爜","status":0}
info: [debug] Responding to client with success: {"status":0,"value":"甯哥敤鍙风爜","sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- GET /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/24/text 200 195.742 ms - 86 {"status":0,"value":"甯哥敤鍙风爜","sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/elements {"using":"class name","value":"android.widget.TableLayout"}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: ["find",{"strategy":"class name","selector":"android.widget.TableLayout","context":"","multiple":true}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"class name","selector":"android.widget.TableLayout","context":"","multiple":true}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding android.widget.TableLayout using CLASS_NAME with the contextId: multiple: true
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[CLASS=android.widget.TableLayout]
info: [debug] [BOOTSTRAP] [debug] getElements selector:UiSelector[CLASS=android.widget.TableLayout]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (0)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TableLayout, INSTANCE=0]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (1)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TableLayout, INSTANCE=1]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (2)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TableLayout, INSTANCE=2]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (3)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TableLayout, INSTANCE=3]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (4)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TableLayout, INSTANCE=4]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (5)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TableLayout, INSTANCE=5]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (6)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TableLayout, INSTANCE=6]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (7)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TableLayout, INSTANCE=7]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (8)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TableLayout, INSTANCE=8]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (9)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TableLayout, INSTANCE=9]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (10)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TableLayout, INSTANCE=10]
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":[{"ELEMENT":"45"},{"ELEMENT":"46"},{"ELEMENT":"47"},{"ELEMENT":"48"},{"ELEMENT":"49"},{"ELEMENT":"50"},{"ELEMENT":"51"},{"ELEMENT":"52"},{"ELEMENT":"53"},{"ELEMENT":"54"}],"status":0}
info: [debug] Responding to client with success: {"status":0,"value":[{"ELEMENT":"45"},{"ELEMENT":"46"},{"ELEMENT":"47"},{"ELEMENT":"48"},{"ELEMENT":"49"},{"ELEMENT":"50"},{"ELEMENT":"51"},{"ELEMENT":"52"},{"ELEMENT":"53"},{"ELEMENT":"54"}],"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/elements 200 1742.332 ms - 243 {"status":0,"value":[{"ELEMENT":"45"},{"ELEMENT":"46"},{"ELEMENT":"47"},{"ELEMENT":"48"},{"ELEMENT":"49"},{"ELEMENT":"50"},{"ELEMENT":"51"},{"ELEMENT":"52"},{"ELEMENT":"53"},{"ELEMENT":"54"}],"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/45/elements {"id":"45","using":"class name","value":"android.widget.TextView"}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: ["find",{"strategy":"class name","selector":"android.widget.TextView","context":"45","multiple":true}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"class name","selector":"android.widget.TextView","context":"45","multiple":true}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding android.widget.TextView using CLASS_NAME with the contextId: 45 multiple: true
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[CLASS=android.widget.TextView]
info: [debug] [BOOTSTRAP] [debug] getElements selector:UiSelector[CLASS=android.widget.TextView]
info: [debug] [BOOTSTRAP] [debug] Element[45] is 45, counter: 0
info: [debug] [BOOTSTRAP] [debug] Element[45] is 45, counter: 1
info: [debug] [BOOTSTRAP] [debug] Element[45] is 45, counter: 2
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":[{"ELEMENT":"55"},{"ELEMENT":"56"}],"status":0}
info: [debug] Responding to client with success: {"status":0,"value":[{"ELEMENT":"55"},{"ELEMENT":"56"}],"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/45/elements 200 431.870 ms - 107 {"status":0,"value":[{"ELEMENT":"55"},{"ELEMENT":"56"}],"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> GET /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/55/text {}
info: [debug] Pushing command to appium work queue: ["element:getText",{"elementId":"55"}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:getText","params":{"elementId":"55"}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: getText
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":"淇濋櫓","status":0}
info: [debug] Responding to client with success: {"status":0,"value":"淇濋櫓","sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- GET /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/55/text 200 134.908 ms - 80 {"status":0,"value":"淇濋櫓","sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/45/click {"id":"45"}
info: [debug] Pushing command to appium work queue: ["element:click",{"elementId":"45"}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:click","params":{"elementId":"45"}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: click
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/45/click 200 3231.716 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/elements {"using":"class name","value":"android.widget.TextView"}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: ["find",{"strategy":"class name","selector":"android.widget.TextView","context":"","multiple":true}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"class name","selector":"android.widget.TextView","context":"","multiple":true}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding android.widget.TextView using CLASS_NAME with the contextId: multiple: true
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[CLASS=android.widget.TextView]
info: [debug] [BOOTSTRAP] [debug] getElements selector:UiSelector[CLASS=android.widget.TextView]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (0)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=0]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (1)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=1]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (2)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=2]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (3)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=3]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (4)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=4]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (5)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=5]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (6)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=6]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (7)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=7]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (8)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=8]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (9)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=9]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (10)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=10]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (11)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=11]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (12)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=12]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (13)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=13]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (14)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=14]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (15)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.TextView, INSTANCE=15]
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":[{"ELEMENT":"57"},{"ELEMENT":"58"},{"ELEMENT":"59"},{"ELEMENT":"60"},{"ELEMENT":"61"},{"ELEMENT":"62"},{"ELEMENT":"63"},{"ELEMENT":"64"},{"ELEMENT":"65"},{"ELEMENT":"66"},{"ELEMENT":"67"},{"ELEMENT":"68"},{"ELEMENT":"69"},{"ELEMENT":"70"},{"ELEMENT":"71"}],"status":0}
info: [debug] Responding to client with success: {"status":0,"value":[{"ELEMENT":"57"},{"ELEMENT":"58"},{"ELEMENT":"59"},{"ELEMENT":"60"},{"ELEMENT":"61"},{"ELEMENT":"62"},{"ELEMENT":"63"},{"ELEMENT":"64"},{"ELEMENT":"65"},{"ELEMENT":"66"},{"ELEMENT":"67"},{"ELEMENT":"68"},{"ELEMENT":"69"},{"ELEMENT":"70"},{"ELEMENT":"71"}],"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/elements 200 2624.940 ms - 328 {"status":0,"value":[{"ELEMENT":"57"},{"ELEMENT":"58"},{"ELEMENT":"59"},{"ELEMENT":"60"},{"ELEMENT":"61"},{"ELEMENT":"62"},{"ELEMENT":"63"},{"ELEMENT":"64"},{"ELEMENT":"65"},{"ELEMENT":"66"},{"ELEMENT":"67"},{"ELEMENT":"68"},{"ELEMENT":"69"},{"ELEMENT":"70"},{"ELEMENT":"71"}],"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> GET /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/57/text {}
info: [debug] Pushing command to appium work queue: ["element:getText",{"elementId":"57"}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:getText","params":{"elementId":"57"}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: getText
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":"淇濋櫓","status":0}
info: [debug] Responding to client with success: {"status":0,"value":"淇濋櫓","sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- GET /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/57/text 200 126.696 ms - 80 {"status":0,"value":"淇濋櫓","sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/elements {"using":"class name","value":"android.widget.RelativeLayout"}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: ["find",{"strategy":"class name","selector":"android.widget.RelativeLayout","context":"","multiple":true}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"class name","selector":"android.widget.RelativeLayout","context":"","multiple":true}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding android.widget.RelativeLayout using CLASS_NAME with the contextId: multiple: true
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[CLASS=android.widget.RelativeLayout]
info: [debug] [BOOTSTRAP] [debug] getElements selector:UiSelector[CLASS=android.widget.RelativeLayout]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (0)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.RelativeLayout, INSTANCE=0]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (1)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.RelativeLayout, INSTANCE=1]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (2)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.RelativeLayout, INSTANCE=2]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (3)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.RelativeLayout, INSTANCE=3]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (4)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.RelativeLayout, INSTANCE=4]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (5)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.RelativeLayout, INSTANCE=5]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (6)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.RelativeLayout, INSTANCE=6]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (7)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.RelativeLayout, INSTANCE=7]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (8)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.RelativeLayout, INSTANCE=8]
info: [debug] [BOOTSTRAP] [debug] Element[] is null: (9)
info: [debug] [BOOTSTRAP] [debug] getElements tmp selector:UiSelector[CLASS=android.widget.RelativeLayout, INSTANCE=9]
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":[{"ELEMENT":"72"},{"ELEMENT":"73"},{"ELEMENT":"74"},{"ELEMENT":"75"},{"ELEMENT":"76"},{"ELEMENT":"77"},{"ELEMENT":"78"},{"ELEMENT":"79"},{"ELEMENT":"80"}],"status":0}
info: [debug] Responding to client with success: {"status":0,"value":[{"ELEMENT":"72"},{"ELEMENT":"73"},{"ELEMENT":"74"},{"ELEMENT":"75"},{"ELEMENT":"76"},{"ELEMENT":"77"},{"ELEMENT":"78"},{"ELEMENT":"79"},{"ELEMENT":"80"}],"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/elements 200 2050.243 ms - 226 {"status":0,"value":[{"ELEMENT":"72"},{"ELEMENT":"73"},{"ELEMENT":"74"},{"ELEMENT":"75"},{"ELEMENT":"76"},{"ELEMENT":"77"},{"ELEMENT":"78"},{"ELEMENT":"79"},{"ELEMENT":"80"}],"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/73/elements {"id":"73","using":"class name","value":"android.widget.TextView"}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: ["find",{"strategy":"class name","selector":"android.widget.TextView","context":"73","multiple":true}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"class name","selector":"android.widget.TextView","context":"73","multiple":true}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding android.widget.TextView using CLASS_NAME with the contextId: 73 multiple: true
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[CLASS=android.widget.TextView]
info: [debug] [BOOTSTRAP] [debug] getElements selector:UiSelector[CLASS=android.widget.TextView]
info: [debug] [BOOTSTRAP] [debug] Element[73] is 73, counter: 0
info: [debug] [BOOTSTRAP] [debug] Element[73] is 73, counter: 1
info: [debug] [BOOTSTRAP] [debug] Element[73] is 73, counter: 2
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":[{"ELEMENT":"81"},{"ELEMENT":"82"}],"status":0}
info: [debug] Responding to client with success: {"status":0,"value":[{"ELEMENT":"81"},{"ELEMENT":"82"}],"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/73/elements 200 403.231 ms - 107 {"status":0,"value":[{"ELEMENT":"81"},{"ELEMENT":"82"}],"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> GET /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/81/text {}
info: [debug] Pushing command to appium work queue: ["element:getText",{"elementId":"81"}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:getText","params":{"elementId":"81"}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: getText
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":"澶у湴淇濋櫓","status":0}
info: [debug] Responding to client with success: {"status":0,"value":"澶у湴淇濋櫓","sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- GET /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/81/text 200 78.985 ms - 86 {"status":0,"value":"澶у湴淇濋櫓","sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> GET /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/82/text {}
info: [debug] Pushing command to appium work queue: ["element:getText",{"elementId":"82"}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:getText","params":{"elementId":"82"}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: getText
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":"95590","status":0}
info: [debug] Responding to client with success: {"status":0,"value":"95590","sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- GET /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/82/text 200 231.759 ms - 79 {"status":0,"value":"95590","sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/73/click {"id":"73"}
info: [debug] Pushing command to appium work queue: ["element:click",{"elementId":"73"}]
info: [debug] [BOOTSTRAP] [debug] Got data from client: {"cmd":"action","action":"element:click","params":{"elementId":"73"}}
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: click
info: [debug] [BOOTSTRAP] [debug] Returning result: {"value":true,"status":0}
info: [debug] Responding to client with success: {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/element/73/click 200 1357.034 ms - 76 {"status":0,"value":true,"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: [debug] Logcat terminated with code 0, signal null
info: [debug] UiAutomator exited
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "echo 'ping'"
info: error sending command, reconnecting device and retrying: shell "echo 'ping'"
info: --> POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/elements {"using":"class name","value":"android.widget.TextView"}
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: ["find",{"strategy":"class name","selector":"android.widget.TextView","context":"","multiple":true}]
info: [debug] Responding to client with error: {"status":13,"value":{"message":"An unknown server-side error occurred while processing the command.","origValue":"Tried to send command to non-existent Android socket, maybe it's shutting down?"},"sessionId":"f48da48f-2a13-4809-bfc1-daef76f55261"}
info: <-- POST /wd/hub/session/f48da48f-2a13-4809-bfc1-daef76f55261/elements 500 0.579 ms - 248
info: [debug] Trying to find a connected android device
info: [debug] Getting connected devices...
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 devices
info: [debug] 0 device(s) connected
info: [debug] Could not find devices, restarting adb server...
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 kill-server
info: [debug] Getting connected devices...
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 devices
info: [debug] 1 device(s) connected
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 "shell \"echo 'ping'\""
info: [debug] Error: Command failed: Android Debug Bridge version 1.0.31-a - directs adb to listen on all interfaces for a connection
-d - directs command to the only connected USB device
returns an error if more than one USB device is present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is running.
-s - directs command to the device or emulator with the given
serial number or qualifier. Overrides ANDROID_SERIAL
environment variable.
-p - simple product name like 'sooner', or
a relative/absolute path to a product
out directory like 'out/target/product/sooner'.
If -p is not specified, the ANDROID_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
-H - Name of adb server host (default: localhost)
-P - Port of adb server (default: 5037)
devices [-l] - list all connected devices
('-l' will also list device qualifiers)
connect [:] - connect to a device via TCP/IP
Port 5555 is used by default if no port number is specified.
disconnect [[:]] - disconnect from a TCP/IP device.
Port 5555 is used by default if no port number is specified.
Using this command with no additional arguments
will disconnect from all connected TCP/IP devices.device commands:
adb push - copy file/dir to device
adb pull [] - copy file/dir from device
adb sync [ ] - copy host->device only if changed
(-l means list but don't copy)
(see 'adb help all')
adb shell - run remote shell interactively
adb shell - run remote shell command
adb emu - run emulator console command
adb logcat [ ] - View device log
adb forward --list - list all forward socket connections.
the format is a list of lines with the following format:
" " " " "\n"
adb forward - forward socket connections
forward specs are one of:
tcp:
localabstract:
localreserved:
localfilesystem:
dev:
jdwp: (remote only)
adb forward --no-rebind
- same as 'adb forward ' but fails
if is already forwarded
adb forward --remove - remove a specific forward socket connection
adb forward --remove-all - remove all forward socket connections
adb jdwp - list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] [-s] [--algo --key --iv ]
- push this package file to the device and install it
('-l' means forward-lock the app)
('-r' means reinstall the app, keeping its data)
('-s' means install on SD card instead of internal storage)
('--algo', '--key', and '--iv' mean the file is encrypted already)
adb uninstall [-k] - remove this app package from the device
('-k' means keep the data and cache directories)
adb bugreport - return all information from the device
that should be included in a bug report.adb backup [-f ] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all] [-system|-nosystem] []
- write an archive of the device's data to .
If no -f option is supplied then the data is written
to "backup.ab" in the current directory.
(-apk|-noapk enable/disable backup of the .apks themselves
in the archive; the default is noapk.)
(-obb|-noobb enable/disable backup of any installed apk expansion
(aka .obb) files associated with each application; the default
is noobb.)
(-shared|-noshared enable/disable backup of the device's
shared storage / SD card contents; the default is noshared.)
(-all means to back up all installed applications)
(-system|-nosystem toggles whether -all automatically includes
system applications; the default is to include system apps)
( is the list of applications to be backed up. If
the -all or -shared flags are passed, then the package
list is optional. Applications explicitly given on the
command line will be included even if -nosystem would
ordinarily cause them to be omitted.)adb restore - restore device contents from the backup archive
adb help - show this help message
adb version - show version numscripting:
adb wait-for-device - block until device is online
adb start-server - ensure that there is a server running
adb kill-server - kill the server if it is running
adb get-state - prints: offline | bootloader | device
adb get-serialno - prints:
adb get-devpath - prints:
adb status-window - continuously print device status for a specified device
adb remount - remounts the /system partition on the device read-write
adb reboot [bootloader|recovery] - reboots the device, optionally into the bootloader or recovery program
adb reboot-bootloader - reboots the device into the bootloader
adb root - restarts the adbd daemon with root permissions
adb usb - restarts the adbd daemon listening on USB
adb tcpip - restarts the adbd daemon listening on TCP on the specified port
networking:
adb ppp [parameters] - Run PPP over USB.
Note: you should not automatically start a PPP connection.
refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
[parameters] - Eg. defaultroute debug dump local notty usepeerdnsadb sync notes: adb sync [ ]
can be interpreted in several ways:
If is not specified, both /system and /data partitions will be updated.
If it is "system" or "data", only the corresponding partition
is updated.environmental variables:
ADB_TRACE - Print debug information. A comma separated list of the following values
1 or all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, jdwp
ANDROID_SERIAL - The serial number to connect to. -s takes priority over this if given.
ANDROID_LOG_TAGS - When used with the logcat option, only these debug tags are printed.info: [debug] Stopping logcat capture
info: [debug] Logcat already stopped
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 kill-server
error: Error killing ADB server, going to see if it's online anyway
info: [debug] Waiting for device to be ready and to respond to shell commands (timeout = 5)
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 wait-for-device
info: [debug] executing cmd: "D:\Program Files (x86)\seleniumTools\adt-bundle-windows-x86-20130917\sdk\platform-tools\adb.exe" -s emulator-5554 shell "echo 'ready'"
info: [debug] Starting logcat capture
info: [debug] Attempting to uninstall app
info: [debug] Not uninstalling app since server not started with --full-reset
info: [debug] Cleaning up android objects
info: [debug] Cleaning up appium session
// java
TouchAction action = new TouchAction(driver)
.press(mapview, 10, 10)
.release().
perform();
为什么不直接用 java 呢?
我猜是不是参数写错了,这里要的是 3 个参数,但是你把最后两个参数(坐标)组成了一个数组作为参数?只会 python,看不懂 js 哈哈
#12 楼 @zjb861107 之前不知道用什么方法,试了可多,今天终于输出来了,用的是:
TouchAction action = new TouchAction(driver);
acton.tap(x,y).perform();
用 press 的话一直会按着那个元素不会释放,再执行 resease() 也没有释放(我就试了一下是这样的,然后就又试用其他方法了)
#12 楼 @zjb861107 回复错帖子 了,用你说的这些方法还是不行啊,还会报异常 org.openqa.selenium.remote.SessionNotFoundException: