JClass = jpype.JClass('test.test')
instance = JClass()
result = instance.add(1, 2)
print result
两个手机 webview 版本不同? 给 chromedriver 的 options 启动参数分配不同端口
有的 App 抓不到,很有可能是 App 自己开了证书强校验,双向验证什么的,可以先了解下 ssl pinning
1.Selenium 启动参数加个 --no-sandbox
2.electron 壳如果用了 remote-debugging-port 给注释掉
试一下看看
有个简单的方法把 所有 Chromedriver 版本都下载下来
appium 初始化 desired capability 的时候增加一个 chromedriverExecutableDir 参数 指向你存放所有 Chromedriver 版本的路径,它会自己选择的
连接 http://appium.io/docs/en/writing-running-appium/web/chromedriver/#chromedriverchrome-compatibility
先试试 chrome inpect 是否能调试 Android webView,用 chrome 拾取元素标记。如不能调试多半是开发没有开启 APP webView 调试权限
webView.setWebContentsDebuggingEnabled(true);
要是没开的话,你切不到 webview 也操作不了。
感觉上是 Appium 和 wda 版本匹配不上了,依赖出现了问题,手动把手机里的删了,用 Appium 自带的 wda 编译吧 。
贴日志,不能让人猜啊
mac 想启动命令行窗口可以使用这种方式
os.system("""osascript -e 'tell application "Terminal" to do script "appium -p {}"'""".format(port))
如果用的 appium-python-client 库,里面有自带的启动 appium 方法 用法:
from appium.webdriver.appium_service import AppiumService
service = AppiumService()
service.start(args=['--address', '127.0.0.1', '-p', '80'], timeout_ms=2000)
service.stop()
你也可以自己起个窗口 类似
os.system('start appium -p {}'.format(port))
多看看文档http://appium.io/docs/en/writing-running-appium/caps/index.html 里面什么都有
automationName=UiAutomator1
ElementActions 自己二次封装的一些操作方法
allure.attach(d.get_screenshot_as_png(),'baidu.png',attachment_type=allure.attachment_type.PNG)
接收参数应该是 driver.get_screenshot_as_png() 返回图片数据, get_screenshot_as_file 返回值只有 True 和 False
顺序应该还是要调换的
'baidu.png',d.get_screenshot_as_file('baidu.png') 最新版的 allure-pytest 这两个参数位置交换下
给你个官方链接,自己看看
http://appium.io/docs/en/writing-running-appium/web/chromedriver/#chromedriverchrome-compatibility
appium 初始化的时候增加一个 chromedriverExecutableDir 参数 指向你存放所有 Chromedriver 版本的路径,
目录下面,直接
> brew install carthage
> carthage update
试下
多看看官方文档
'skipServerInstallation': True
'skipDeviceInitialization': True
针对已经安装的设备,这两个参数可以跳过 appium 初始化一些安装
编译一个 Android 可执行文件在 Android 内部运行是不是要快些?
启动的 appActivity 可能是错误的,用 monkey 运行一下看看启动 activity 是什么
功能很全面呀,赞一个
赞一个
百万大佬快跟上~
如果你只是这样用的话,没必要 用 fixture
直接
def setup(self):
def setup_class(self): 多好
换了 UiAutomator2 之后不应该不是 ID 属性才能输入,而是只有当元素为 android.widget.EditText 类型的时候才可以输入。