IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> appium模块化使用 -> 正文阅读

[移动开发]appium模块化使用

# -*- coding:utf-8 -*-


desired_caps = {
    'platformName': 'Android',
    'plathformVersion': '10',
    'deviceName': 'X4UOCQOF79AUZX79',
    'appPackage': 'com.hpbr.bosszhipin',
    'appActivity': '.module.launcher.WelcomeActivity',
    'noReset': "True",
    'newCommandTimeout': 6000,
    'automationName': 'UiAutomator2',  # 或者UiAutomator1
}
# -*- coding:utf-8 -*-

from utils.settings import desired_caps
from appium import webdriver
import time


class MyDriver:
    _driver = None

    @classmethod
    def get_driver(cls):
        if cls._driver is None:
            cls._driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
            cls._driver.implicitly_wait(10)

        return cls._driver

    def swipe_up(self, t=1000, n=1):
        """向上滑动"""
        # 获取手机的屏幕高度和宽度
        coordinator = self._driver.get_window_size()
        # 获取最大横坐标的一半
        x1 = coordinator["width"] * 0.5
        # 获取四分之一位置、以及四分之三位置的纵坐标
        y1 = coordinator["height"] * 0.75
        y2 = coordinator["height"] * 0.25
        for i in range(n):
            self._driver.swipe(x1, y1, x1, y2, t)


driver = MyDriver()

if __name__ == '__main__':
    d = driver.get_driver()
    print(d)
    # time.sleep(5)
    # driver.swipe_up()
# -*- coding:utf-8 -*-


from utils.myDriver import driver
import pytest
import time

"""
当多条测试用例存在的时候
我们难以保证上一条case的结束页面,恰好是下一个case的开始页面
所以,设计app自动化用例的时候,保证每一条case都从首页开始
那么就要求我们,每一条case的开始,都能初始化APP到首页
"""


def test_update_pwd():
    # 进入我的标签
    driver.get_driver().find_element_by_id("com.hpbr.bosszhipin:id/iv_tab_4").click()
    # 点击右上角设置图标
    driver.get_driver().find_element_by_xpath("//*[@resource-id='com.hpbr.bosszhipin:id/rl_title']/*[2]").click()
    # 点击账号与绑定
    driver.get_driver().find_element_by_xpath("//*[@resource-id='com.hpbr.bosszhipin:id/rv_list']/*[1]").click()
    # 点击修改密码
    time.sleep(1)
    driver.get_driver().find_element_by_xpath("//*[@resource-id='com.hpbr.bosszhipin:id/rv_list']/*[2]").click()
    time.sleep(5)
    # # 因为获取不了定位信息,所有拿到页面xml到本地进行定位
    # print(driver.get_driver().page_source)

    # 输入旧密码
    driver.get_driver().find_element_by_id("com.hpbr.bosszhipin:id/et_old").send_keys("boss123")
    # 输入新密码
    driver.get_driver().find_element_by_id("com.hpbr.bosszhipin:id/et_new").send_keys("12346asd")
    # 确认新密码
    driver.get_driver().find_element_by_id("com.hpbr.bosszhipin:id/et_new_confirm").send_keys("12346asd")
    # 点击修改密码按钮
    driver.get_driver().find_element_by_id("com.hpbr.bosszhipin:id/btn_save").click()

    time.sleep(5)
    driver.get_driver().start_activity("com.hpbr.bosszhipin", ".module.launcher.WelcomeActivity")


def test_search_job():
    # 点击 boss 直聘上的放大镜  # 在 appium自动化中,元素定位以class属性代替标签名
    driver.get_driver().find_element_by_xpath(
        "//*[@resource-id='com.hpbr.bosszhipin:id/ly_menu']/android.widget.RelativeLayout[2]").click()
    # 对输入框输入值--软件测试,被输入值的元素一定是 EditText
    driver.get_driver().find_element_by_id("com.hpbr.bosszhipin:id/et_search").send_keys("软件测试")
    # 选择第一个搜索结果
    driver.get_driver().find_element_by_xpath("//*[@resource-id='com.hpbr.bosszhipin:id/lv_matcher']/*[1]").click()

    time.sleep(5)
    driver.get_driver().start_activity("com.hpbr.bosszhipin", ".module.launcher.WelcomeActivity")


if __name__ == '__main__':
    pytest.main(["-s"])

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-01-12 00:07:14  更:2022-01-12 00:08:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:39:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码