Пример #1
0
print(driver.current_activity)

# page_source
print(driver.page_source)

# 获取 app 屏幕大小
print(driver.get_window_size())

# 原生app没用,
# print(driver.current_window_handle)

time.sleep(5)

# 滑屏操作
for i in range(3):
    driver.swipe(600, 500, 10, 500)
    # app 测试当中和 web 自动化测试不同在于 app 容易崩。
    time.sleep(0.2)

# 点击立即进入
# driver.find_element_by_id('com.xxzb.fenwoo:id/btn_start')
# uiautomator
start_btn = driver.find_element_by_android_uiautomator(
    'new UiSelector().resourceId("com.xxzb.fenwoo:id/btn_start")')
start_btn.click()

# 首页元素定位
my = driver.find_element_by_xpath('//android.widget.TextView[@text=\"我\"]')
my.click()

# 一定要手动关闭,不然会出现:1 ,设备找不到;2, viewer 不能截屏了。
Пример #2
0
#uiautomator
# loc_ningmeng='new UiSelector.text("柠檬社区")'
# driver.find_element_by_android_uiautomator(loc_ningmeng)
#
# #content_desc的值
# driver.find_element_by_accessibility_id()
# #id
# driver.find_element_by_id()
# #class
# driver.find_element_by_class_name()

time.sleep(2)
#滑屏操作
#先获取窗口的大小
size=driver.get_window_size()

#左滑先确定到size的宽90宽50
star_x=size["width"]*0.9
star_y=size["height"]*0.5

end_x=size["width"]*0.1
end_y=size["height"]*0.5
# driver.swipe(star_x,star_y,end_x,end_y,duration=200)
for i in range(3):
    driver.swipe(star_x, star_y, end_x, end_y, duration=200)
    time.sleep(1)

#向右滑动

# driver.swipe(end_x,star_y,star_x,end_y,duration=200)
Пример #3
0
# driver.find_element_by_accessibility_id()

# TODO: java 当中要用双引号表示字符串
# new UiSelector().className(\"android.widget.FrameLayout\").resourceId(\"com.lemon.lemonban:id/navigation_my\").clicable()
# driver.find_element_by_android_uiautomator('new UiSelector().className(\"android.widget.FrameLayout\").resourceId(\"com.lemon.lemonban:id/navigation_my\")')

#查找元素方式
#driver.find_element

#元素等待
driver.implicitly_wait(20)
windown_size = driver.get_window_size()
print(windown_size)
time.sleep(5)
#滑动,需要滑动3次
for i in range(3):
    driver.swipe(800, 500, 10, 500)
    time.sleep(0.2)

#点击立即进入
#driver.find_element_by_id('com.xxzb.fenwoo:id/btn_start')
#java的写法uiautomator
start_btn = driver.find_element_by_android_uiautomator(
    'new UiSelector().resourceId("com.xxzb.fenwoo:id/btn_start")')
start_btn.click()

#首页元素定位
my = driver.find_element_by_xpath('//android.widget.TextView[@text=\"我\"]')

#手动关闭
#driver.quit()
Пример #4
0
    #"app":r"E:\zengcong\software\appium\Future-release-2018.apk",
    "app": r"D:\software\Appium\Future-release-2018.apk",
    "noReset": True
}

# 创建一个会话
driver = Remote(command_executor='http://127.0.0.1:4723/wd/hub',
                desired_capabilities=caps)
# 等待
driver.implicitly_wait(10)

# 进入首页看到欢迎界面,欢迎界面需要滑动
# driver.swipe(start_x=500,end_x=0,start_y=200,end_y=200)
# time.sleep(3)
# driver.swipe(start_x=500,end_x=0,start_y=200,end_y=200)
# time.sleep(3)

# 不能使用绝对坐标,得使用百分比坐标
# 获取屏幕的宽度和高度,800和1000,直接从x轴的90%,到10%
# 720PX ----> 80px,纵坐标:500 ----> 500
# 先获取屏幕的宽度和高度
size = driver.get_window_size()
print(size)
height = size['height']
width = size['width']
driver.swipe(start_x=width * 0.9,
             start_y=height * 0.5,
             end_x=width * 0.1,
             end_y=height * 0.5)
time.sleep(3)
Пример #5
0
    "appPackage": "com.lemon.lemonban",
    "appActivity": "com.lemon.lemonban.activity.WelcomeActivity"
}

driver = Remote(command_executor='http://127.0.0.1:4723/wd/hub',
                desired_capabilities=desired_cap)

driver.implicitly_wait(15)
# el1 = driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout[2]/android.view.ViewGroup/android.widget.FrameLayout[3]/android.widget.ImageView")
# el1.click()
# el2 = driver.find_element_by_id("com.lemon.lemonban:id/fragment_my_lemon_avatar_title")
# el2.click()
# el1 = driver.find_element_by_id("com.lemon.lemonban:id/et_mobile")
# el1.click()
# el1.send_keys("123456")
# el2 = driver.find_element_by_id("com.lemon.lemonban:id/et_password")
# el2.click()
# el2.send_keys("123456")
# el5 = driver.find_element_by_id("com.lemon.lemonban:id/btn_login")
# el5.click()
# driver.find_element_by_android_uiautomator('new UiSelector().text("我的柠檬")').click()
# driver.find_element_by_android_uiautomator('new UiSelector().text("我的柠檬")').click()
# driver.find_element_by_android_uiautomator('new UiSelector().text("点击头像登录")').click()
#  通过坐标点击
driver.tap([(621, 1523)], 200)
# 滑动
driver.swipe(start_x=200, start_y=660, end_x=1100, end_y=660, duration=200)
#获取屏幕窗口宽高
res = driver.get_window_size()
print()
Пример #6
0
caps = {
    "platformName": "Android",
    "platformVersion": "5.1",
    "deviceName": "Android Emulator",
    "appActivity": "com.xxzb.fenwoo.activity.addition.WelcomeActivity",
    "appPackage": "com.xxzb.fenwoo",
    "noReset": "False"
}

android_driver = Remote(desired_capabilities=caps)

android_driver.implicitly_wait(10)

# 获取手机的尺寸
phone_size = android_driver.get_window_size()

# 等待启动
time.sleep(2)
for i in range(4):
    android_driver.swipe(phone_size['width'] * 0.9, phone_size['width'] * 0.5,
                         phone_size['width'] * 0.1, phone_size['width'] * 0.5)
    time.sleep(1)

# 点击立即体检进入首页
# android_driver.find_element_by_id("com.xxzb.fenwoo:id/btn_start").click()
android_driver.find_element_by_android_uiautomator(
    'new UiSelector().resourceId("com.xxzb.fenwoo:id/btn_start")').click()
time.sleep(2)

android_driver.quit()
Пример #7
0
class Client:
    def __init__(self):
        super(Client, self).__init__()
        self.config = Config()
        self.desired_caps = {
            'platformName':
            self.config.get_config('DESIRED_CAPS', 'platformName'),
            'platformVersion':
            self.config.get_config('DESIRED_CAPS', 'platformVersion'),
            'deviceName':
            self.config.get_config('DESIRED_CAPS', 'deviceName'),
            'appPackage':
            self.config.get_config('DESIRED_CAPS', 'appPackage'),
            'appActivity':
            self.config.get_config('DESIRED_CAPS', 'appActivity'),
            # 'udid': '127.0.0.1:4723',
            'unicodeKeyboard':
            True,
            'resetKeyboard':
            True,
            'autoGrantPermissions':
            True,
            'automationName':
            'uiautomator2',
            'app':
            PATH("packages/apps-release.apk")
        }
        self.driver_url = self.config.get_config('APP_DATABASE', 'driver_url')
        # self.driver = Remote("http://127.0.0.1:4723/wd/hub", self.desired_caps)
        self.driver = Remote('{}'.format(self.driver_url), self.desired_caps)
        self.driver.implicitly_wait(15)
        self.wait = WebDriverWait

    def find(self, xpath):
        result = self.driver.find_element_by_xpath(xpath).text
        return result

    def click(self, res):
        try:
            self.driver.find_element_by_id(res).click()
        except:
            self.driver.find_element_by_xpath(res).click()

    def xpath(self, xpath):
        self.driver.find_element_by_xpath(xpath).click()

    def send_keys(self, res, keywords):
        try:
            self.driver.find_element_by_id(res).send_keys(keywords)
        except:
            self.driver.find_element_by_xpath(res).send_keys(keywords)

    def swipe(self, res):
        width = self.driver.get_window_rect()['width']
        height = self.driver.get_window_rect()['height']
        i = 0
        while i < 10:
            try:
                self.driver.find_element_by_id(res).is_enabled()
                break
            except Exception as e:
                self.driver.swipe(width / 2, height * 0.8, width / 2,
                                  height * 0.2)
                i = i + 1