#42 楼 @Tank007 我刚刚运行了一下,发现用的是 2 个不同的端口。
>> xctest-client.js:56:14 [master] pid:10556 project path: /usr/local/lib/node_modules/macaca-ios/node_modules/webdriveragent/WebDriverAgent/WebDriverAgent.xcodeproj
>> xctest-client.js:56:14 [master] pid:10555 project path: /usr/local/lib/node_modules/macaca-ios/node_modules/webdriveragent/WebDriverAgent/WebDriverAgent.xcodeproj
>> macaca-ios.js:147:10 [master] pid:10556 {
"bundleId": "com.btcc.mobiEntStaging",
"platformVersion": "9.3.5",
"platformName": "iOS"
}
>> macaca-ios.js:147:10 [master] pid:10555 {
"bundleId": "com.btcc.mobiEntStaging",
"platformVersion": "10.0.1",
"platformName": "iOS"
}
>> macaca-ios.js:151:12 [master] pid:10556 Trying to start wda server...
>> macaca-ios.js:151:12 [master] pid:10555 Trying to start wda server...
(node:10556) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:10555) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:10555) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
(node:10556) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
BundleId com.apple.test.WebDriverAgentRunner-Runner does not exist.
>> xctest-client start with port: 8900
>> xctest-client.js:233:14 [master] pid:10556 xcode version: 8.2
>> WebDriverAgent version: 1.0.38
>> xctest-client start with port: 8901
>> xctest-client.js:233:14 [master] pid:10555 xcode version: 8.2
>> WebDriverAgent version: 1.0.38
没有,我只要设置 macaca server 运行的端口就行了。
#36 楼 @Tank007 这边啊
[debug] [JSONWP Proxy] Proxying [POST /session] to [POST http://localhost:8100/session] with b 为啥是都是 8100 端口,你这里不是设置的端口号是 4724 么?
捕获一下异常,例如:
try:
element.cick()
catch:
拖动滚动条。
点击。
driver = WebDriver(device, server_url)
driver.init()
这个方法不是我实现的,是 macaca 自己封装好,用来初始化 driver 的。
pool.apply_async(self.run, (self.devices[i], pool_list[i])) 并行执行不了,一运行就结束了
这个是因为在在执行 self.run 这个方法的过程中报错了,所以提前结束。但是并没有把报错信息给打印出来。你可以添加以下代码,就可以看见报错信息了。
result = []
result.append(pool.apply_async(self.run_server, args=(self.devices[i], port_list[i]))
for res in result:
print(res.get())
至于最后一个 [ ERROR ] Message: Session does not exist:
你确定所有服务都起来之后才运行用例的么?
result = []
result.append(pool.apply_async(self.run_server, args=(self.devices[i], port_list[i]))
for res in result:
print(res.get())
问前能不能先搜一下?
66666
是的,这可以的。但是我的电脑是 mac。
#8 楼 @seveniruby 已更新
你脚本不指定端口好,那么脚本里面默认的就是去访问 3456,所以你开的 3457 这个端口根本就没有用, 脚本里面并没有机制去判断 3456 这个端口是否被占用。
#5 楼 @AllocAndInit 脚本里面也是指定了不同的端口号么?
#3 楼 @AllocAndInit 你运行的时候没有指定端口号哎, 脚本也没有指定,所以都访问到了 3456 这个端口。
#6 楼 @AllocAndInit 启动的时候有没有指定端口,测试运行的时候有没有指定相应的端口?你这样问我只能猜,能不能上脚本和相关 log?