美文网首页
Python Appium自动化测试 屏幕截图

Python Appium自动化测试 屏幕截图

作者: 白码会说 | 来源:发表于2020-12-22 22:03 被阅读0次

    Time will tell.

    在实际自动化项目运行过程中,很多时候 App 可以会出现各种异常,为了更好的定位问题,除了捕捉日志我们还需要对运行时的设备状态来进行截屏,从而达到一种 “有图有真相” 的效果。

    1、截图方法

    方法1:

    save_screenshot()该方法直接保存当前屏幕截图到当前脚本所在文件位置。

    driver.save_screenshot('login.png')
    
    

    源码:

    方法2:

    get_screenshot_as_file(self, filename)

    将截图保留到指定文件路径

    driver.get_screenshot_as_file('./images/login.png')
    
    

    源码:

    2、案例实践

    测试场景

    在考研帮 App 登录页面输入用户名和密码之后截图,分别保存到当前文件和指定的文件路径。

    参考代码:

    # coding=utf-8
    # 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
    # 2.注释:包括记录创建时间,创建人,项目名称。
    # 3.导入模块
    
    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['automationName']='uiautomator2'
    
    desired_caps['app']=r'C:\Users\DELL\Downloads\kaoyanbang.apk'
    desired_caps['appPackage']='com.tal.kaoyan'
    desired_caps['appActivity']='com.tal.kaoyan.ui.activity.SplashActivity'
    
    desired_caps['noReset']='False'
    desired_caps['unicodeKeyboard']="True"
    desired_caps['resetKeyboard']="True"
    
    driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
    driver.implicitly_wait(2)
    
    #定义的点击“取消”按钮方法
    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_cancelBtn()
    
    #调用点击“跳过”按钮方法
    check_skipBtn()
    
    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('55555')
    
    driver.find_element_by_id('com.tal.kaoyan:id/login_password_edittext').send_keys('zxw2018')
    
    driver.save_screenshot('login.png')
    
    driver.get_screenshot_as_file('./images/login.png')
    
    driver.find_element_by_id('com.tal.kaoyan:id/login_login_btn').click()
    
    

    以上内容就分享到这里,如果你对Python自动化软件测试感兴趣可以加入我们扣裙一起学习175317069。有各项测试学习资源,也有行业深潜多年的技术人分析讲解。

    欢迎【点赞】、【评论】、【关注】~

    Time will tell.(时间会证明一切)

    相关文章

      网友评论

          本文标题:Python Appium自动化测试 屏幕截图

          本文链接:https://www.haomeiwen.com/subject/qvjenktx.html