demo appium

这篇具有很好参考价值的文章主要介绍了demo appium。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy

from appium.webdriver.extensions.android.nativekey import AndroidKey
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from appium.webdriver.common.touch_action import TouchAction
import time

'''
通过adb命令查看当前进程
adb shell dumpsys activity top|findstr ACTIVITY

adb shell ps pid
放在实例化Remote配置信息中
"chromeOptions": {"androidProcess": "com.tencent.mm:appbrand0"}

{
  "platformName": "Android",
  "platformVersion": "10",
  "deviceName": "slkMobile",
  "appPackage": "com.tencent.mm",
  "appActivity": ".ui.LauncherUI",
  "unicodeKeyboard": true,
  "resetKeyboard": true,
  "noReset": true,
  "newCommandTimeout": 6000,
  "automationName": "UiAutomator2" ,
  "chromeOptions": {"androidProcess": "com.tencent.mm:appbrand0"}
}
'''


class minitab():
    def __init__(self):
        print("---init启动app-")
        desired_caps = {
            'platformName': 'Android',  # 被测手机是安卓
            'platformVersion': '10',  # 手机安卓版本
            'deviceName': 'slkMobile',  # 设备名,安卓手机可以随意填写
            'appPackage': 'com.tencent.mm',  # 启动APP Package名称
            'appActivity': '.ui.LauncherUI',  # 启动Activity名称
            'unicodeKeyboard': True,  # 使用自带输入法,输入中文时填True
            'resetKeyboard': True,  # 执行完程序恢复原来输入法
            'noReset': True,  # 不要重置App
            'newCommandTimeout': 6000,
            'automationName': 'UiAutomator2',
            'chromeOptions': {'androidProcess': 'com.tencent.mm:appbrand0'}
        }
        # 连接Appium Server,初始化自动化环境
        self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
        time.sleep(10)

    def swipe_win(self):
        print("---下滑屏幕")
        # 获取屏幕宽度
        width = self.driver.get_window_size()['width']
        # 获取屏幕高度
        height = self.driver.get_window_size()['height']
        self.driver.swipe(width * 0.5, height * 0.1, width * 0.5, height * 0.9, 1000)

    def click_mini_title(self):
        print("---点击搜图大师title")
        try:
            DCD = '//*[@text="搜图大师"]'
            # WebDriverWait(self.driver, 100).until(EC.visibility_of_element_located((By.XPATH, DCD)))
            # self.driver.find_element_by_xpath(DCD).click()
            self.driver.find_element(By.XPATH, "//*[@text='搜图大师']").click()
            time.sleep(8)
            print("---小程序8s广告结束")
        except:
            pass

    def switch_now(self):
        print("---切换上下文进入小程序")
        contexts = self.driver.contexts
        self.driver.switch_to.context(contexts[-1])
        print(contexts)

        # 当前会有很多窗口句柄,需要遍历获取元素,切换到当前的windowHandle

    def click_elem_contexts(self):
        all_contexts = self.driver.contexts
        print(all_contexts)
        my_path='/hierarchy/node/node/node/node/node/node/node/node/node/node/node/node/node/node/node[' \
                '@resource-id="com.tencent.mm:id/uv"] '
        self.driver.find_element(By.XPATH, my_path)[0].click()
        # self.driver.find_element(By.XPATH, "//*[@text='视频去水印']").click()
        # driver.switch_to.context(driver.contexts[-1])
        # for handle in all_contexts:
            # try:
            #     self.driver.switch_to.context(handle)
            #     self.driver.find_element(By.XPATH, "//*[@text='视频去水印']").click()
            # except Exception:
            #     print("---定位失败")
            #     print(Exception)

    def operate(self):
        print("---start")
        self.swipe_win()
        self.click_mini_title()
        self.switch_now()
        self.click_elem_contexts()


if __name__ == '__main__':
    minitab().operate()

文章来源地址https://www.toymoban.com/news/detail-495755.html

到了这里,关于demo appium的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Window安装Node.js npm appium Appium Desktop

    Window安装Node.js npm appium appium Desktop 参考链接: https://blog.csdn.net/weixin_42064877/article/details/131610918 1)打开浏览器,并前往 Node.js 官网 https://nodejs.org/ ↗。 2)在首页中,您可以看到当前 Node.js 的稳定版本和最新版本。单击“长期支持版本”下载,即可下载当前版本的 Node.js 安装程

    2024年02月09日
    浏览(54)
  • 全网最新最全的Appium自动化:使用appium后安卓手机无法调出键盘解决方法

    问题 :用appium进行真机调试后,使用手机的app进行输入时无法调出键盘。 原因 :appium调试时,将手机输入法设置成了Unicode IME 注:按键详细操作参考 :转载至 作者:oscarforever   地址:https://www.cnblogs.com/oscarforever/p/10721774.html 解决方法: 方法一,手机设置里修改输入法:

    2024年02月04日
    浏览(49)
  • Appium xpath定位

    环境:win10,麦芒20(手机) xpath应该是最准确的定位方式,不管你有没有id、class或者其他的元素,uiautomator总是可以识别出xpath,因为手机APP的控件布局类似于HTML的树形结构。 如右图所示 xpath很长,显然不可能人手动来对其进行编写,最好的就是使用插件,链接地址如下:

    2024年02月13日
    浏览(20)
  • Appium 安卓环境的配置

    目录 前言: 环境准备 写个脚本玩玩 在使用Appium进行安卓自动化测试之前,需要配置相应的安卓环境。 为了避免走弯路,我们先要确保三点: Android SDK API = 17 (Additional features require 18) 环境变量  ANDROID_HOME  并确保  $ANDROID_HOME/platform-tools  和  $ANDROID_HOME/tools  包含在 PATH 里

    2024年02月16日
    浏览(39)
  • Appium 环境配置

    Appium 是一个开源的、跨平台的测试框架,可以用来测试 Native App、混合应用、移动 Web 应用(H5 应用)等,也是当下互联网企业实现移动自动化测试的重要工具。Appium 坚持的测试理念: •无需用户对 App 进行任何修改或者重新编译,App 应该 Born to be Automated。 •不应该限制用

    2024年01月21日
    浏览(38)
  • win11安装appium

    node下载网址: Download | Node.js 安装后对node安装包路径进行配置 android sdk安装 https://www.androiddevtools.cn/ 下载安装,需要先按照java gstream安装 gstream下载地址 并将gstream的bin目录添加到PATH环境变量中  apkanalyzer.bat可以使用IDE Android Studio来进行安装 bundletool.jar安装 下载地址: G

    2024年02月15日
    浏览(35)
  • Appium安装部署

    目录 一、检查Java环境 二、安装android SDK Android SDK依赖ava环境,因此需要先安装jdk。在CMD中输入java -version 出现下图的结果,说明当前环境已安装jdk  如果提示java命令无效,请安装后进行下一步。 安装Android SDK推荐使用Android Studio工具进行安装,工具下载地址:AndroidDevTools -

    2024年02月11日
    浏览(31)
  • Mac安装配置Appium

    一、安装 nodejs 与 npm 安装方式与 windows 类似 ,官网下载对应的 mac 版本的安装包,双击即可安装,无须配置环境变量。 官方下载地址: https://nodejs.org/en/download/  二、安装 appium Appium 分为两个版本,一个是有界面的Appium(下载安装文件即可安装),一个是无界面的命令行版本

    2024年04月11日
    浏览(41)
  • Mac安装Appium

    一、环境依赖 一、JDK环境 二、Android-SDK环境(android自动化) 三、Homebrew环境 四、Nodejs 安装cnpm 五、安装appium 六、安装appium-doctor来确认安装环境是否完成 七、安装相关依赖 二、重头大戏, 配置wda(WebDriverAgent) 三、第二个重头大戏,配置UI查看器 一、因为appium自身的查看

    2024年04月23日
    浏览(27)
  • Appium 自动化测试

    1.Appium介绍 1,appium是开源的移动端自动化测试框架; 2,appium可以测试原生的、混合的、以及移动端的web项目; 3,appium可以测试ios,android应用(当然了,还有firefoxos); 4,appium是跨平台的,可以用在osx,windows以及linux桌面系统上; 2.Appium基本原理 在Android端,appium基于We

    2024年02月01日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包