• 手机WEB页面自动化_在手机浏览器上实现WEB页面自动化


    1、说明

    场景:手机端浏览器
    注意:被测app信息改成:'browserName':'Chrome',
    1、用到的工具: appium + webdriver(匹配手机浏览器版本)
    2、手机浏览器和PC浏览器使用的驱动都是相同的,只需要选择符合该浏览器版本的驱动就可以。(手机端安装的浏览器版本和配置的驱动版本一致,我这里用到的是 chrome-81)
    3、建议用谷歌浏览器,因为对自动化适配最好。
    4、此时和手机产生了关联,所以涉及到appium。
    5、手机上自动化网页需要选择合适的浏览器->Chrome。
    6、手动安装谷歌浏览器,先下载apk到电脑上。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    adb install C:\Tools\apk\chrome-81-0-4044-138.apk
    
    • 1

    2、代码演示

    # 配置项  注:这里的配置项和完全自动化app的配置有些区别。
    desired_caps = {
        "platformName": "Android",
        "platformVersion": "11",
        "deviceName": "Redmi Note 11 Pro",
        # 被测app信息-仅限chrome浏览器
        'browserName': 'Chrome',
        'newCommandTimeout': 6000,
        # 确保自动化之后不重置app
        'noReset': True,
        # 底层驱动
        'automationName': 'UiAutomator2',
        # 指定chromedriver                          
        # 方式1 指定webdriver 存放目录
        'chromedriverExecutableDir': 'D:\chromedriver\chromedriver_win32_v81'  # 正确写法
        # 方式2 指定webdriver 可执行文件路径
        # 'chromedriverExecutable':'D:\chromedriver\chromedriver_win32_v81\chromedriver.exe'  
        # 两种方式选择1种即可
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    from appium import webdriver
    
    
    # 启动设备
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    driver.implicitly_wait(10)
    
    # 手机网页自动化
    # 打开百度页面
    driver.get('https://www.baidu.com/')
    
    # 查看当前app的context(appium操作的作用域)
    # context-NATIVE_APP    # 只能操作原生控件
    # context-WEBVIEW_包名   # 只能操作web元素
    # 查看context的名称
    print(driver.contexts)
    # 返回 ['NATIVE_APP', 'CHROMIUM']
    
    # 当前处于哪个context?
    print(driver.current_context)
    # 返回 CHROMIUM
    
    # 设置浏览器窗口大小, 手机浏览器无法设置大小。
    # driver.set_window_size(480,800)
    
    # 搜关键字"青花瓷",\n 回车
    driver.find_element_by_id('index-kw').send_keys('青花瓷\n')
    
    # 判断第一个搜索结果
    res = driver.find_element_by_css_selector('.c-title-text').text
    print(res)
    
    # 校验
    assert '青花瓷' in res
    
    
    # driver.quit()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
  • 相关阅读:
    小程序项目如何创建
    知识引擎藏经阁天花板——高性能Java架构核心原理手册
    flink集群搭建
    电动汽车安全概述
    位图的使用与实现
    C#开发的应用升级更新服务器端工具 - 开源研究系列文章 - 个人小作品
    SpringBoot项目--如何不停服更新应用?
    QE01/QA11/QA02屏幕增强
    HTTPS的实现原理
    Python从入门到实践:字节串与字符串
  • 原文地址:https://blog.csdn.net/weixin_44801980/article/details/125468985