python3 appium1.7.2 安装uiautomator2解决android7 无法定位的问题

为什么用2

因为手机是android 7 在原生界面找不到元素 driver,page_source 一直处于状态, 我也不想这么玩,搭建appium已经煞费苦心,没法 继续试试

首先   npm install appium-uiautomator2-driver 目前装的是最新版2.37 但是发现与android 的chrome不匹配 然后就下载了 2.36的

chromedriver 版本对应关系 url

https://sites.google.com/a/chromium.org/chromedriver/downloads

然后再次运行 果然又报错 那就继续找原因


然后他温馨的告诉俺 appium-uiautomator2-server-v0.3.0.apk   这个龟儿子 有毛病 可能水土不服或者得了版本偏高偏低症,反正就是不行

然后我就去了他的路径 去给他治治

C:\Users\CY\AppData\Roaming\npm\node_modules\appium\node_modules\appium-uiautomator2-driver\uiautomator2

 你猜怎么着,这个龟儿子 压根不存在 我XXXXXXX!!!!!!!!!!```````````````````````````

怎么装呢???? 百度呗

url https://github.com/appium/appium-uiautomator2-server/releases?after=v0.4.1 下载对应的版本 (应该有墙 真特么慢 等了估计2分钟)

然后我抱着试试看的想法再次运行了一下

你猜怎么着

还是不行!!!


selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Error executing adbExec. Original error: 'Command 'C\:\\android-sdk\\platform-tools\\adb.exe -P 5037 -s a6a6a8b39904 install -r C\:\\Users\\CY\\AppData\\Roaming\\npm\\node_modules\\appium\\node_modules\\appium-uiautomator2-driver\\uiautomator2\\appium-uiautomator2-server-v0.3.0.apk' exited with code 1'; Stderr: 'adb: failed to install C:\Users\CY\AppData\Roaming\npm\node_modules\appium\node_modules\appium-uiautomator2-driver\uiautomator2\appium-uiautomator2-server-v0.3.0.apk: Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]'; Code: '1'

如何查看端口是否被占用呢

netstat -ano | findstr 5037

原来端口被占用了   kill掉adb
再次运行

然后android装了几个app

又报错了

原来是这个又没装 有点窝火 就不能一次提醒完整嘛

下面的俩 都要下载


抱着有点火夫人态度,猛地点了一下run

哈哈哈哈

又报错了


这个问题难为了我一天,没有找到解决方案,

然后就重启了手机 就好了,就特么好了  气不气  太特么气了

然后再次run 成功了

综上所吹的牛逼 就是两点

1、chromedriver 与手机的版本是不是对应的

2、那个apk 是不是对应的 ,没有就去下载


测试代码

class AndroidLogin(unittest.TestCase):
    def setUp(self):
        conf = ConfigParser()
        self.file_path = file_path('1')
        conf.read(setting_path())
        self.username = conf.get('teamLeader', 'Zhenglinlin')
        self.password = conf.get('operation', 'password')
        self.username1 = conf.get('management', 'yangyinghua')
        device_name = get_android_udid()
        stop_android_appium()
        sleep(2)
        start_android_appium(device_name)
        desired_caps = {
            'platformName': 'Android',
            'deviceName': device_name,
            'platformVersion': get_android_version(),
            'appPackage': conf.get('android', 'appPackage'),
            'appActivity': conf.get('android', 'appActivity'),
            'recreateChromeDriverSessions': True,
            'automationName':  'Uiautomator2'
        }
        self.driver = android_driver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
        sleep(3)
        # handle_permissions_popovers(self.driver)

    def test_01_android_login(self):
        android_login(self.driver, self.username, self.password)

    def tearDown(self):
        self.driver.close()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值