app自动化总结与答疑

  • 要求: 看完本章节所有课程内容,并完成作业,优先回答和作业相关的问题
  • 有什么问题在评论区回复

上课内容

  • 梳理知识点
  • 讲解作业
  • 答疑

滚动查找

driver.find_element(MobileBy.ANDROID_UIAUTOMATOR,
                    'new UiScrollable(new UiSelector().'
                    'scrollable(true).instance(0)).'
                    'scrollIntoView(new UiSelector().'
                    'text("添加成员").instance(0));').click()

请问老师:
appium突然出现的的广告弹窗怎么处理呢 麻烦给下实现的具体代码

linux挂载设备的方法、appium server怎么远程连接挂载设备的linux或者其他电脑

滑动查找元素能用webDriverWait.until实现吗

实际测试中是每个测试类启用一次app还是整个测试进程就打开一次就可以 如果就打开一次 多线程运行用例的话会受影响吗

多线程xdist插件在appium使用应该注意什么呢

Appium突然出现的的广告弹窗怎么处理呢 麻烦给下实现的具体代码:
对find_element进行二次封装,当找元素找不到时,捕获异常,在黑名单里查找,关闭很名单,再继续查找目标元素

1、用uiautomator viewer定位元素的时候,有没有什么好的校验定位是否有问题的方法
2、uiautomator viewer怎样能获取到Android 10.0以上的真机的页面

https://github.com/alibaba/web-editor

@File :test_a.py

-- ecoding: utf-8 --

@Time: 2021/8/27 21:57

@Author: niu run peng

import time
from selenium import webdriver
from selenium.webdriver.common.by import By

class TestAccident:
def setup(self):
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(4)
self.driver.maximize_window()
self.driver.get(‘https://www.baidu.com’)

def teardown(self):
    time.sleep(2)
    self.driver.quit()

def test_a(self):
    try:
        # 尝试定位某元素 此时被意外弹出的广告挡住了 没找到该元素抛出异常
        self.driver.find_element_by_id('du')
    except Exception as e:
        print(f'{e.__class__.__name__}:{e}')
        # 调用意外弹窗黑名单处理方法尝试关闭
        self.close_accident()
        # 之后再定位该元素
        time.sleep(3)
        self.driver.find_element_by_id('kw').send_keys('th900 MK2')
        self.driver.find_element_by_id('su').click()

def close_accident(self):
    # 黑名单:已知的各种广告关闭按钮定位方式list
    li = [(By.ID, 'du'), (By.ID, 'lu'), (By.ID, 'su')]
    for i in li:
        # 如果找到这个黑名单元素就点击关闭 否则就捕获异常 使循环能够连续进行查找
        try:
            ele = self.driver.find_element(i[0], i[1])
            ele.click()
        except Exception as e:
            print(f'{e.__class__.__name__}:{e}')
1 Like