appium

实践(1)APP启动页跳转到首页

2020-05-07  本文已影响0人  落地逃

本文以 MSN news 为例,实现启动app 后跳转到首页的功能,包含使用list进行元素定位、try except else 进行是否首次启动app判断,logging 进行日志记录等功能

一 场景:

1.启动app后连续跳过welcom、interest 、what‘s new  页面到首页

2.判断是否是首次启动,如果首次启动通过出现welcom页面,如果不是首次启动则直接进入interest页面

3.使用logging  模块记录日志

4.Logging模块配置

二  实践

2.1 启动app后连续跳过welcom、interest 、what‘s new  页面到首页

welcom页面

1. 首先启动appium 进行session 回话

2.app 启动到welcom页面,点击not now按钮,跳转到下一个页面

分析:这里我使用list元素进行定位,为什么选择它呢,通过观察可以知道class name 和sign in name名称相同,如果直接使用classname那么就会定会到当前页面首个class name元素。

 list定位获取一组class名称,通过数组下标进行区分

a=driver.find_element_by_id()

a[1].click()

3. 代码:

skipwel=driver.find_elements_by_class_name('android.widget.Button')

skipwel[1].click()

2.2判断是否是首次启动,如果首次启动通过出现welcom页面,如果不是首次启动则直接进入interest页面

首次启动app时,会弹出welcome页面,但是第二次启动时该页面就会消失,出现interest页面那么对于这种判断我们该如何处理呢

这里我们使用try  except 语句进行判断

try except 语法:

工作原理:如果try语句发生异常,则执行except 匹配名称后语句

                   如果try语句未发生异常,执行else后面语句

                   如果try语句发生异常, except语句后内容没有匹配成功,异常将被递交到上层的try。

处理思路:

定位interest页面,如果定位失败,证明出现的是welcome,执行welcome语句;否则执行interest页面语句

代码:

def welcome():

    logging.info('skip welcome')

    skipwel=driver.find_elements_by_class_name('android.widget.Button')

    skipwel[1].click()

try:

    driver.find_elements_by_class_name('android.widget.Button')

except NoSuchElementException:

    welcome()

else:

    skipinterest=driver.find_elements_by_class_name('android.widget.Button')

    skipinterest[0].click() 


interets 页面

原理同welcom 页面

skipinterest=driver.find_elements_by_class_name('android.widget.Button')

skipinterest[0].click()


what‘s new page

原理同welcom 页面

skipwhatnew=driver.find_elements_by_class_name('android.widget.Button')

skipwhatnew[1].click()

上一篇下一篇

猜你喜欢

热点阅读