zoukankan      html  css  js  c++  java
  • 二:Appium元素id定位方式

    测试场景1
    1. 安装考研帮kaoyan3.1.0.apk
    2. 点击升级页面取消按钮
    3. 点击引导页面的跳过按钮
    4.  try:执行可能会出错的试探性语句,即这里面的语句是可以导致致命性错误使得程序无法继续执行下去
      except:如果try里面的语句无法正确执行,那么就执行except里面的语句,这里面可以是错误信息或者其他的可执行语句
      else:如果try里面的语句可以正常执行,那么就执行else里面的语句(相当于程序没有碰到致命性错误)

    kyb_cancel_skip.py

    from  appium import webdriver
    
    desired_caps={}
    desired_caps['platformName']='Android'
    desired_caps['deviceName']='127.0.0.1:62025'
    desired_caps['platforVersion']='5.1.1'
    
    desired_caps['app']=r'C:UsersShuqingDesktopkaoyan3.1.0.apk'
    desired_caps['appPackage']='com.tal.kaoyan'
    desired_caps['appActivity']='com.tal.kaoyan.ui.activity.SplashActivity'
    
    driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
    driver.implicitly_wait(5)
    
    driver.find_element_by_id('android:id/button2').click()
    driver.find_element_by_id('com.tal.kaoyan:id/tv_skip').click()

    相关阅读:selenium元素定位 还记得那年的selenium元素定位吗?? http://www.51zxw.net/list.aspx?page=3&cid=615

    kyb_cancel_skip_try.py

    from  appium import webdriver
    from selenium.common.exceptions import NoSuchElementException
    
    desired_caps={}
    desired_caps['platformName']='Android'
    desired_caps['deviceName']='127.0.0.1:62025'
    desired_caps['platforVersion']='5.1.1'
    
    desired_caps['app']=r'C:UsersShuqingDesktopkaoyan3.1.0.apk'
    desired_caps['appPackage']='com.tal.kaoyan'
    desired_caps['appActivity']='com.tal.kaoyan.ui.activity.SplashActivity'
    
    desired_caps['noReset']='True'
    
    driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
    driver.implicitly_wait(5)
    
    def check_cancelBtn():
        print("check_cancelBtn")
    
        try:
            cancelBtn = driver.find_element_by_id('android:id/button2')
        except NoSuchElementException:
            print('no CancelBtn')
        else:
            cancelBtn.click()
    
    def check_skipBtn():
        print("check_skipBtn")
        try:
            skipBtn = driver.find_element_by_id('com.tal.kaoyan:id/tv_skip')
        except NoSuchElementException:
            print('no skipBtn')
        else:
            skipBtn.click()
    
    check_updateBtn()
    check_skipBtn()

    id定位综合实践——自动登录

    测试场景
    1. 启动App,进入到登录界面
    2. 在登录页面输入用户名“自学网2018”,密码‘zxw2018’ 然后点击登录。

    需求分析
    1. 可以把启动后检测升级弹窗和引导页面的模块抽离作为独立的模块被其他模块调用,提高代码复用率。
    2. 获取用户名密码输入框和登录按钮的元素id属性,另外要考虑启动时App之前是否登录过账号,已经登录过和未登录场景流程不一样。
    3. 注意:send_keys()传入中文时需要在capability中配置如下内容:

    desired_caps['unicodeKeyboard']="True"
    desired_caps['resetKeyboard']="True"

    设置之后会有Appium的输入法守护来执行输入操作

    代码实现
    kby_login.py

    from  find_element.capability 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_username').click()
        login()

    注意:
    使用Appium做了输入操作之后,如果出现输入法无法唤起,可以在系统设置——语言和输入法——将当前输入法替换为系统输入法或者其他输入法。

    博客地址 https://www.cnblogs.com/yufeihlf/p/6068589.html#test0
    常见的python报错及解决方案
    1.NameError变量名错误
    2.IndentationError代码缩进错误
    3.AttributeError对象属性错误
    4.TypeError类型错误
    5.IOError输入输出错误
    6.KeyError字典键值错误

  • 相关阅读:
    Django通用视图执行过程
    Django HTTP处理流程(自我总结)
    CentOS 安装MySQL5.7
    Python--定时给Ta讲笑话
    【转】对Django框架架构和Request/Response处理流程的分析
    Python模块发布
    Django中使用CKEditor代码高亮显示插件Code Snippet
    页面中的"返回顶部"(位置固定,指定位置显示/隐藏) Label:博客园美化
    跨域请求配置 Amazon AWS S3 腾讯云 阿里云 COS OSS 文件桶解决方案以及推荐 Label:Research
    文件分发服务器 AWS CloudFront(CDN)使用入门-以S3为例 Label:Research
  • 原文地址:https://www.cnblogs.com/zhenyu1/p/11942522.html
Copyright © 2011-2022 走看看