2,针对 safari 浏览器,有好的建议吗?
感谢楼主的分享,有几个点希望能咨询:
1,看起来是每一个容器都是一个 hub? 每个容器里面是跑在一个浏览器,还是多个浏览器呢? 如果是 1 个,是不是不需要 grid
感谢楼主的思路分享,做了一些实践,另外解决了不能.出来方法的问题。附上地址 https://github.com/xiaoqi7s/airtest-pytest
这个是动态把注释塞进去,我是想问动态增加 with allure.step(“步骤: 点击 %s”% self._name)呢
楼主您好,请问这个骚操作是怎么实现的,能方便透露一下么?--在使用 click() 等具体操作时,会自动给对应方法添加 with allure.step(“步骤: 点击 %s”% self._name)(allure 报告框架)从而使每个 case 都会展示具体的操作步骤信息
楼主您好,请问这样的元素(没有唯一的 id)--poco("我的").child("android.widget.ListView")[1].child("android.view.View")[0]--要怎么定义?
如果是这些方法,那为什么不直接把元素写成 self.p_sign = poco("com.xxx"),这样好歹 p_sign.click,get_text,set_text 之类原始的方法可以点出来。主要是不能.方法,书写体验太差了。
楼主您好,动态添加进去的方法,不能被点.出来?这个能解决么?
请问下:
我重新 build 之后还是未能解决 请问有人知道原因吗
大家好,我也遇到了不能微信不能切换 webview 的问题,切换时一直卡主,我是用的 python,已经看了上面的的一些解决方法。也加了 desired_caps['chromeOptions']={'androidProcess': 'com.tencent.mm:tools'},以及尝试了各个 driver 版本。手机是安卓 6.0.
请问哪位同胞能给点相关的意见。
如下是代码,
from selenium.webdriver.support.wait import WebDriverWait
from appium import webdriver
from appium.webdriver.mobilecommand import MobileCommand
import time
desired_caps = {}
desired_caps['automationName']='Appium'
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '6.0'
desired_caps['deviceName'] = 'R3E0216C10002466'
desired_caps['noReset'] = True
desired_caps['appPackage'] = 'com.tencent.mm'
desired_caps['appActivity'] = 'com.tencent.mm.ui.LauncherUI'
desired_caps['chromeOptions']={'androidProcess': 'com.tencent.mm:tools'}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
print driver
time.sleep(10)
d1 = driver.find_element_by_xpath('//*[@text="我"]')
print d1
time.sleep(10)
a=driver.contexts
print a
print driver.current_context
driver.switch_to.context('WEBVIEW_com.tencent.mm:appbrand0')
print driver.current_context
---------------------如下是日志-------------------
[debug] [AndroidDriver] Returning process name: 'com.tencent.mm:support'
[debug] [AndroidDriver] Found webviews: ["WEBVIEW_com.tencent.mm:tools","WEBVIEW_com.tencent.mm:appbrand0","WEBVIEW_com.tencent.mm:support"]
[debug] [AndroidDriver] Available contexts: ["NATIVE_APP","WEBVIEW_com.tencent.mm:tools","WEBVIEW_com.tencent.mm:appbrand0","WEBVIEW_com.tencent.mm:support"]
[debug] [AndroidDriver] Connecting to chrome-backed webview context 'WEBVIEW_com.tencent.mm:appbrand0'
[debug] [AndroidDriver] A port was not given, using random port: 8000
[debug] [Chromedriver] Changed state to 'starting'
[Chromedriver] Set chromedriver binary as: C:\Users\woxia\AppData\Roaming\npm\node_modules\appium\node_modules_appium-chromedriver@3.4.0@appium-chromedriver\chromedriver\win\chromedriver.exe
[debug] [Chromedriver] Killing any old chromedrivers, running: FOR /F "usebackq tokens=5" %a in (netstat -nao ^| findstr /R /C:"8000 "
) do (FOR /F "usebackq" %b in (TASKLIST /FI "PID eq %a" ^| findstr /I chromedriver.exe
) do (IF NOT %b=="" TASKKILL /F /PID %a))
[Chromedriver] No old chromedrivers seemed to exist
[debug] [Chromedriver] Cleaning any old adb forwarded port socket connections
[debug] [ADB] List forwarding ports
[debug] [ADB] Running 'C:\Android\android-sdk\platform-tools\adb.exe' with args: ["-P",5037,"-s","R3E0216C10002466","forward","--list"]
[Chromedriver] Spawning chromedriver with: C:\Users\woxia\AppData\Roaming\npm\node_modules\appium\node_modules_appium-chromedriver@3.4.0@appium-chromedriver\chromedriver\win\chromedriver.exe --url-base=wd/hub --port=8000 --adb-port=5037 --verbose
[debug] [Chromedriver] Chromedriver version: '2.28.455520'
[debug] [JSONWP Proxy] Proxying [GET /status] to [GET http://127.0.0.1:8000/wd/hub/status] with no body
[debug] [JSONWP Proxy] Got response with status 200: "{\"sessionId\":\"\",\"status\":0,\"value\":{\"build\":{\"version\":\"alpha\"},\"os\":{\"arch\":\"x86_64\",\"name\":\"Windows NT\",\"version\":\"10.0.16299\"}}}"
[debug] [JSONWP Proxy] Proxying [POST /session] to [POST http://127.0.0.1:8000/wd/hub/session] with body: {"desiredCapabilities":{"chromeOptions":{"androidPackage":"com.tencent.mm","androidUseRunningApp":true,"androidProcess":"com.tencent.mm:tools","androidDeviceSerial":"R3E0216C10002466"}}}
[debug] [Chromedriver] Webview version: 'Chrome/57.0.2987.132'
[debug] [JSONWP Proxy] Got response with status 200: {"sessionId":"45f1e1a238181e7412a59ee7ef6ebc90","status":13,"value":{"message":"unknown error: unable to discover open pages\n (Driver info: chromedriver=2.28.455520 (cc17746adff54984afff480136733114c6b3704b),platform=Windows NT 10.0.16299 x86_64)"}}
[Chromedriver] Error: Failed to start Chromedriver session: An unknown server-side error occurred while processing the command. (Original error: unknown error: unable to discover open pages
Chromedriver)
[Chromedriver] at Object.wrappedLogger.errorAndThrow (../../lib/logging.js:78:13)
[Chromedriver] at Chromedriver.callee$2$0$ (../../lib/chromedriver.js:217:13)
[Chromedriver] at tryCatch (C:\Users\woxia\AppData\Roaming\npm\node_modules\appium\node_modules_babel-runtime@5.8.24@babel-runtime\regenerator\runtime.js:67:40)
[Chromedriver] at GeneratorFunctionPrototype.invoke as _invoke
[Chromedriver] at GeneratorFunctionPrototype.prototype.(anonymous function) as throw
[Chromedriver] at GeneratorFunctionPrototype.invoke (C:\Users\woxia\AppData\Roaming\npm\node_modules\appium\node_modules_babel-runtime@5.8.24@babel-runtime\regenerator\runtime.js:136:37)
[Chromedriver] at
[debug] [JSONWP Proxy] Proxying [POST /session] to [POST http://127.0.0.1:8000/wd/hub/session] with body: {"desiredCapabilities":{"chromeOptions":{"androidPackage":"com.tencent.mm","androidUseRunningApp":true,"androidProcess":"com.tencent.mm:tools","androidDeviceSerial":"R3E0216C10002466"}}}
[debug] [Chromedriver] Webview version: 'Chrome/57.0.2987.132'
按照你说的步骤看了下,的确是 42.0.2311.138 这个版本号。也就是要下 42 对应的 chromedriver 么?
你这个是 linux 的命令,我是 windows 的。
现在一般都用 1.6.3 以后的版本了,毕竟加入了 uiautomator2,主要是对 toast 的支持。你都报了些啥错啊
2.27 也试过,提示>54 和前面的错误一样 只有 26 是上面给你截图这个错误
用了 26 之后,报的又是这个错了。不能发现打开的页面。
我用 chromedriver=2.29 时,提示 chorme version>56 用 2.28 就提示上面的要>55,我手机和电脑 chrome 都是装的 58 呢。
上面日志打印了 chromedriver 的版本,你说的这个目录我也查看过,现在 chromedriver 最新的是 2.29,现在是 2.28 同样都支持 55 以上的版本的。所以不知道咋回事了
有这样的错误日志。 有 webview,在执行 switch_to_context 的时候就这样了,楼主知道怎么解决吗
楼主遇到过切换 webview 卡死的情况吗?我现在在使用 switch_to_context 会卡死呢?
可以通过 nodejs 的 npm 下载
顶起!!!!!!!1
#1 楼 @xiaoan_2131 解决了,用的 cnpm 安呀
—— 来自 TesterHome 官方 安卓客户端