appium自动化:登录时判断是否有相关的按钮及id元素定位

一、测试环境

Win 10
Python 3.6
Appium 1.13.0
Andriod 5.1.1 模拟器
测试App:考研帮Android版 3.1.0
二、测试场景
场景一:base脚本里的desired_caps['noReset'] = 'False'

1 自动安装考研帮App(kaoyan3.1.0.apk),然后启动App

2 判断是否有取消按钮,有的话,则点击取消按钮,没有的话,打印没有定位到按钮

3 判断是否有跳过按钮,有的话,则点击跳过按钮,没有的话,打印没有定位到按钮
4 输入用户名密码登录
场景二:base脚本里的desired_caps['noReset'] = 'True'
1 自动安装考研帮App(kaoyan3.1.0.apk),然后启动App

2 判断是否有取消按钮,有的话,则点击取消按钮,没有的话,打印没有定位到按钮

3 判断是否有跳过按钮,有的话,则点击跳过按钮,没有的话,打印没有定位到按钮

4 判断是否有我的,有我的进行点击,没有的话直接到登录页面输入用户名和密码


三、代码如下:

引用脚本base.py

#uft-8
from appium import webdriver
from selenium.common.exceptions import NoSuchElementException

desired_caps={}
desired_caps['platformName'] = 'Android'
desired_caps['deviceName'] = '127.0.0.1:62026'
desired_caps['platforVersion'] = '5.1.1'


desired_caps['app'] = r'D:\download\kaoyan3.1.0.apk'
desired_caps['appPackage'] = 'com.tal.kaoyan'
desired_caps['appActivity'] = 'com.tal.kaoyan.ui.activity.SplashActivity'
desired_caps['noReset'] = 'False'
#设置之后会有Appium的输入法守护来执行输入操作
desired_caps['unicodeKeyboard']="True"
desired_caps['resetKeyboard']="True"

driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
driver.implicitly_wait(4)

def check_cancelBtoon():
    print("检查取消按钮")
    try:
        cancelBtoon = driver.find_element_by_id('android:id/button2')
    except NoSuchElementException:
        print("没有取消按钮")
    else:
        cancelBtoon.click()
def check_skipBtoon():
    print("检查跳过按钮")
    try:
        skipBtoon = driver.find_element_by_id('com.tal.kaoyan:id/tv_skip')
    except NoSuchElementException:
        print("没有跳过按钮")
    else:
        skipBtoon.click()

#调用上面的两个方法
driver.implicitly_wait(2)
check_cancelBtoon()
# driver.implicitly_wait(2)
check_skipBtoon()



自动化脚本login.py脚本

from find.base import driver,NoSuchElementException

#登录的方法
def login():
    driver.find_element_by_id('com.tal.kaoyan:id/login_email_edittext').clear()
    driver.find_element_by_id('com.tal.kaoyan:id/login_email_edittext').send_keys('自学网2018')
    driver.find_element_by_id('com.tal.kaoyan:id/login_password_edittext').send_keys('zxw2018')
    driver.find_element_by_id('com.tal.kaoyan:id/login_login_btn').click()
#捕获异常
try:
    driver.find_element_by_id('com.tal.kaoyan:id/mainactivity_button_mysefl')
except NoSuchElementException:
    login()
else:
    driver.find_element_by_id('com.tal.kaoyan:id/mainactivity_button_mysefl').click()
    driver.find_element_by_id('com.tal.kaoyan:id/activity_usercenter_userheader').click()
    login()
发布了100 篇原创文章 · 获赞 71 · 访问量 184万+

猜你喜欢

转载自blog.csdn.net/dengachao/article/details/100038577