• python3 操作appium


    # -*- coding: utf-8 -*-
    # @Time    : 2018/10/8 11:00
    # @Author  : cxa
    # @File    : test.py
    # @Software: PyCharmctx
    from appium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    import time
    import base64
    
    
    def start_appium():
        desired_caps = {}
        desired_caps['platformName'] = 'Android'  # 设备系统
        desired_caps['deviceName'] = '127.0.0.1:62001'  # 设备名称
        desired_caps['appPackage'] = 'com.alicom.smartdail'  # 测试app包名
        desired_caps['appActivity'] = 'com.alicom.smartdail.view.enter.SplashActivity'  # 测试appActivity
        desired_caps['platformVersion'] = '4.4.2'  # 设备系统版本
        desired_caps['noReset'] = True  # 启动后结束后不清空应用数据
        desired_caps['unicodeKeyboard'] = True  # 此两行是为了解决字符输入不正确的问题
        desired_caps['resetKeyboard'] = True  # 运行完成后重置软键盘的状态  
        driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)  # 启动app
        wait = WebDriverWait(driver, 60)
        # time.sleep(20)
        try:
            btn_xpath = '//android.widget.Button[@resource-id="com.alicom.smartdail:id/m_nonum_confirm_btn"]'
            btn_node = wait.until(EC.presence_of_element_located((By.XPATH, btn_xpath)))
            # btn_node=driver.find_element_by_xpath(btn_xpath)
            btn_node.click()
        except:
            driver.back()
            btn_xpath = '//android.widget.Button[@resource-id="com.alicom.smartdail:id/m_nonum_confirm_btn"]'
            btn_node = wait.until(EC.presence_of_element_located((By.XPATH, btn_xpath)))
            # btn_node = driver.find_element_by_xpath(btn_xpath)
            btn_node.click()
        # sleep 30s
        # 点击
    
    
    def login_in(driver):
        id_xpath = '//android.widget.EditText[@content-desc="账户名输入框"]'
        id_node = driver.find_element_by_xpath(id_xpath)
        id_node.clear()
        id_node.send_keys("test")
        pwd = str(base64.b64decode("MTIzNHF3ZXI="), 'u8')
        pwd_xpath = '//android.widget.EditText[@content-desc="密码输入框"]'
        pwd_node = driver.find_element_by_xpath(pwd_xpath)
        pwd_node.clear()
        pwd_node.send_keys(pwd)
        submit = "//android.widget.Button[@text='登录']"
        submit_node = driver.find_element_by_xpath(submit)
        submit_node.click()
        time.sleep(10)
    
    
    if __name__ == '__main__':
        start_appium()
    

      

  • 相关阅读:
    Java 递归、尾递归、非递归、栈 处理 三角数问题
    vmware虚拟机迁移导致的eth0消失问题
    c语言输入输出
    改动虚拟机镜像的rootpassword
    面试题之变态跳台阶
    努力是种病:放慢节奏,才能快速奔跑(转)
    做技术到底可以做到哪种地步-技术为什么越走越窄 (转)
    wpf 客户端【JDAgent桌面助手】开发详解(三) 瀑布流效果实现与UI虚拟化优化大数据显示
    我为什么写博客(转)
    入行必读:互联网行业薪酬等级!看看你值多少钱?(转)
  • 原文地址:https://www.cnblogs.com/c-x-a/p/9760420.html
Copyright © 2020-2023  润新知