当前位置: 首页 > wzjs >正文

网络工作室网站建设站长统计app软件下载2021

网络工作室网站建设,站长统计app软件下载2021,江苏网站关键词优化优化,江阴哪里有做网站的APP自动化能做什么? 请看示例(实现批量的视频,封面功能复用能力(实现效果参考抖音号:71403700901) APP自动化实战-操作剪映APP PO模式 1. PO模式介绍 PO(Page Object)…

APP自动化能做什么?

请看示例(实现批量的视频,封面功能复用能力(实现效果参考抖音号:71403700901

APP自动化实战-操作剪映APP

PO模式

1. PO模式介绍

PO(Page Object)模式是一种在自动化测试中广泛使用的设计模式。

其主要思想是将页面元素的操作和页面的业务逻辑封装到一个单独的类中,以提高测试代码的可读性、可维护性和可重用性。

PO 模式的优点包括:

  1. 减少代码重复:相同页面的操作只需在对应的页面对象中定义一次。
  2. 提高代码可读性:测试用例专注于业务流程,而页面操作的细节被隐藏在页面对象中。
  3. 便于维护:如果页面元素或操作有变化,只需在相应的页面对象中进行修改。

2. PO模式应用

  1. PO模式可以把一个页面分为三层,对象库层、操作层、业务层。
    • 对象库层:封装定位元素的方法。
    • 操作层:封装对元素的操作。
    • 业务层:将一个或多个操作组合起来完成一个业务功能。比如登录:需要输入帐号、密码、点
      击登录三个操作。
  1. PO模式的Base基类封装
    • 比如针对元素定位封装到操作的基类当中,使代码更加简洁

实战应用

说明:Android平台&剪映APP为例,仅做简单演示。效果参考(抖音号:71403700901)

1. 主要代码结构

(参考上一篇文章:基于 Python 的自动化框架示例_python框架模板-CSDN博客)

my_app_auto_test/
├── app_lib/
│   ├── base/
│   │   ├── __init__.py
│   │   ├── base_driver.py
│   │   └── base_page.py
│   ├── pages/
│   │   ├── __init__.py
│   │   └── main_page.py
│   └── operations/
│       ├── __init__.py
│       └── main_operations.py
├── app_test/
│   ├── __init__.py
│   ├── test_main.py
│   └── conftest.py
├── config/
│   ├── __init__.py
│   └── config.ini
└── run_tests.py

2. PO模式封装

主要介绍main_page模块

import time
from selenium.webdriver.common.by import By
from app_lib.android.Base.base_page import BasePageMain# 抽象出元素定位信息的基类
class ElementLocator:def __init__(self, by: By, value: str):self.by = byself.value = value# 对象库层,用来定位元素
class PageMain(BasePageMain):def __init__(self):super().__init__()# 定位元素self.cut_cap = ElementLocator(By.XPATH, '//android.widget.TextView[@resource-id="com.lemon.lv:id/tab_name" and @text="剪辑"]')self.scissors = ElementLocator(By.XPATH, '(//android.view.View[@resource-id="com.lemon.lv:id/radioButton"])[1]')self.start_do = ElementLocator(By.XPATH, '//android.widget.ImageView[@resource-id="com.lemon.lv:id/ic_creation_new"]')self.choose_color = ElementLocator(By.XPATH, '')self.choose_color = ElementLocator(By.XPATH, '')# 剪辑按钮def find_cut_cap(self):return  self.get_element((self.cut_cap.by, self.cut_cap.value))# 剪刀按钮def find_scissors(self):return self.get_element((self.scissors.by, self.scissors.value))# 开始创造按钮def find_start_do(self):return self.get_element((self.start_do.by, self.start_do.value))# 操作层,通过依赖注入接收对象库层实例,降低耦合度
class HandMain:def __init__(self, page_main_:PageMain):self.page_main = page_main_# 开始创作def start_do(self):if self.page_main.find_cut_cap() is not None:self.page_main.find_cut_cap().click()if self.page_main.find_scissors() is not None:self.page_main.find_scissors().click()self.page_main.find_start_do().click()time.sleep(3)# 业务层
class MainProxy:def __init__(self, handle_main_: HandMain):self.main_handle = handle_main_def start_do_(self):# 开始创作self.main_handle.start_do()# 使用示例
if __name__ == "__main__":page_main = PageMain()handle_main = HandMain(page_main)main_proxy = MainProxy(handle_main)main_proxy.start_do_()

上述代码中,如果页面元素或操作有变化,只需在相应的页面对象中进行修改即可。

附:Windows电脑从0到1实现APP自动化

引言

前几日回购了一台windows电脑,8成新,系统已重装。因为之前一直用的是MAC电脑,这次就这个机会用Windows电脑从0到1实现一下APP的自动化。

环境搭建

在Windows电脑上进行Python+Appium自动化测试环境搭建,主要有以下步骤:

1. 安装Java JDK

  1. 下载:前往Oracle官网或国内镜像站(如华为镜像),下载JDK 1.8及以上版本,安装过程中选择合适路径,避免中文和空格。
  2. 配置环境变量:右键点击“此电脑”,选择“属性”,进入“高级系统设置”,点击“环境变量”。新建“JAVA_HOME”变量,变量值为JDK安装路径;编辑“Path”变量,添加%JAVA_HOME%\bin
  3. 验证:在命令提示符输入“java -version”,显示版本信息则安装成功。

2. 安装Android SDK

  1. 下载:访问Android SDK官网,下载SDK安装包。
  2. 安装与配置环境变量:解压到指定目录,新建“ANDROID_HOME”变量,变量值为SDK解压路径;编辑“Path”变量,添加%ANDROID_HOME%\platform-tools%ANDROID_HOME%\build-tools%ANDROID_HOME%\tools等目录(用英文分号隔开)。
  3. 验证:在命令提示符输入“adb”和“adb devices”,能正确显示相关信息则安装成功。

3. 安装安卓模拟器

可选择夜神模拟器、天天模拟器、Genymotion、网易MUMU等。以夜神模拟器为例:

  1. 下载安装:访问夜神模拟器官网,下载并安装。
  2. 配置:开启模拟器的开发者模式,在模拟器中,进入“设置”->“关于手机”->连续点击“版本号”5次激活开发者选项,接着在“设置”->“开发者选项”中启用USB调试。将Android SDK中的platform-tools文件夹下的adb.exe文件拷贝到夜神模拟器安装路径下的bin目录下,覆盖原有的adb文件。

4. 安装Node.js

  1. 下载:访问Node.js官网,下载适合Windows系统的安装包。
  2. 安装:点击安装包,按照提示点击“Next”按钮,勾选“I accept the terms in the License Agreement”,可自定义安装路径,之后默认点击“Next”,再点击“install”和“finish”完成安装。
  3. 验证:打开命令提示符,输入“node -v”,显示版本号则安装成功。

5. 安装Appium

有客户端安装和远程安装两种方式,推荐客户端安装。

  1. 客户端安装:前往Appium官网下载Windows安装包,选择第一个选项点击“安装”,点击“完成”。双击打开Appium客户端,host输入127.0.0.1,Appium默认端口是4723,点击“Start Server”开启服务。
  2. 远程安装:在命令提示符中输入npm install -g appium。也可使用淘宝镜像源加快速度,先执行npm install -g cnpm --registry=https://registry.npm.taobao.org,再执行cnpm install -g appium

6. 安装Appium-doctor

在命令提示符中输入npm install -g appium-doctor。安装完成后,通过在命令提示符中输入appium-doctor进行环境检查。

7. 安装Python

  1. 下载:访问Python官网,下载适合Windows系统的安装包。
  2. 安装:运行安装包,在安装过程中,建议勾选“Add Python to PATH”,将Python添加到环境变量。
  3. 验证:打开命令提示符,输入“python”,若显示Python版本信息,则安装成功。

8. 安装Appium-Python-Client

打开命令提示符,输入pip install Appium-Python-Client

9. 安装集成开发环境(IDE)

可选择Pycharm等,前往Pycharm官网下载安装包,按照提示进行安装。

APP自动化测试

1. 启动 Appium Server

    • 打开命令提示符:在 Windows 系统中,按下Win + R键,输入 “cmd” 并回车,打开命令提示符窗口。
    • 输入启动命令:在命令提示符中输入appium命令,即可启动 Appium Server。如果需要指定一些特殊参数,如指定端口号、绑定 IP 地址等,可以使用相应的参数选项,例如appium -p 4724表示将 Appium Server 启动在 4724 端口上。
    • 查看启动信息:命令执行后,会在命令行中输出 Appium Server 的启动日志信息,显示服务器是否成功启动以及相关的配置信息等。

2. 准备测试设备与APP

  • 连接真机:用USB线将手机连接到电脑,确保手机开启USB调试模式,电脑能识别手机。若用模拟器,启动之前安装好的安卓模拟器。
  • 安装APP,可以提前安装好,就不需要下面步骤了
    • 获取APP安装包:获取要测试的APP安装包文件(.apk格式),可从项目组获取或从应用商店下载后提取。
    • 安装APP:使用命令行工具如adb install <app_path>,将APP安装到测试设备上,其中<app_path>是APP安装包的路径。也可在Appium的启动配置中指定app参数为APP安装包路径,让Appium在测试前自动安装。

3. 编写测试脚本

  • 导入必要的库:在Python脚本中,导入appium.webdriver相关模块及其他可能用到的模块,如By用于定位元素,WebDriverWait用于等待元素加载。
from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
  • 配置Desired Capabilities:设置设备和APP相关的参数,如平台名称、平台版本、设备名称、APP包名、启动活动等。
desired_caps = {"platformName": "Android","platformVersion": "11","deviceName": "emulator-5554","appPackage": "com.example.app","appActivity": "com.example.app.MainActivity"
}
  • 初始化驱动:创建WebDriver实例,与Appium服务器建立连接,启动APP。
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)

from appium.options.android import UiAutomator2Options

# 创建Appium驱动实例
options = UiAutomator2Options().load_capabilities(desired_caps)
driver = webdriver.Remote(config.get('Appium', 'server_url'), options=options)
  • 注意:
  • 如果新版本的Appium不兼容,需要引用UiAutomator2Options。
  • 与Appium服务器建立连接,启动APP。
  • 编写测试用例:使用Appium提供的API来定位APP中的元素,并对元素进行操作,如点击、输入文本等。
# 等待并点击某个按钮
button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "button_id")))
button.click()# 输入文本到输入框
input_box = driver.find_element(By.ID, "input_box_id")
input_box.send_keys("test text")
  • 断言与验证:使用断言来验证操作结果是否符合预期,如验证页面标题、元素是否显示等。
# 验证某个元素是否显示
assert driver.find_element(By.ID, "element_id").is_displayed()# 验证页面标题是否正确
assert driver.title == "Expected Title"

运行测试脚本

  • 直接运行:在Pycharm等集成开发环境中,直接运行编写好的测试脚本。也可在命令行中进入脚本所在目录,执行python <script_name>.py命令来运行脚本,其中<script_name>是测试脚本的文件名。
  • 使用测试框架:若使用unittestpytest等测试框架来组织和管理测试用例,可在命令行中执行相应的命令来运行测试套件。如使用unittest时,可在命令行中执行python -m unittest discover -s tests -p "test_*.py",其中tests是测试用例所在的目录,test_*.py是测试用例文件的命名模式。

查看测试结果

  • 查看控制台输出:在运行脚本的控制台中,查看测试执行过程中的输出信息,包括测试用例的执行情况、断言结果等。若测试失败,会显示详细的错误信息和堆栈跟踪,帮助定位问题。
  • 生成测试报告:可使用HTMLTestRunner等工具生成HTML格式的测试报告,直观地展示测试结果,包括测试用例的执行时间、通过率、失败用例的详细信息等。
http://www.dtcms.com/wzjs/173404.html

相关文章:

  • 网站建设 软文东营百度推广电话
  • 做会展网站的公司的工作流程百度客户端
  • wordpress做成论坛系统深圳seo博客
  • 网站建设与设计毕业论文国外seo工具
  • 做网站的软件是什么深圳网站建设公司排名
  • 商标 做网站 是几类百度一键安装
  • 福州建设发展集团网站友情链接买卖代理
  • 郑州企业建站策划湖南网站推广公司
  • 电子商务网站建设与管理课程评价外链推广平台
  • PHP+MySQL网站开发全程实例seo黑帽技术工具
  • 成品网站建设哪家好广告推广语
  • 贵阳哪家网站建设公司好百度广告平台
  • 网络服务抽成seo技巧是什么意思
  • 国内永久免费crm系统网站推荐有哪些网络市场调研
  • b2b电子商务模式的网站今日头条网站推广
  • 仿帝国网站源码免费自助建站模板
  • 长安商城网站建设关键词推广计划
  • b2b电子商务平台运营seo网络营销推广公司深圳
  • 建设大型网站产品推广计划怎么写
  • 平台门户网站建设方案视频号视频怎么看下载链接
  • 织梦网站地图怎么做淘宝搜索关键词技巧
  • 河间网站建设下列哪些店铺适合交换友情链接
  • 公益平台网站怎么做网站快照优化公司
  • 如何做百度竞价推广seo公司软件
  • 使用python做网站网络推广营销策划方案
  • 江苏省建设人才网站企业qq下载
  • 山东住房和城乡建设厅网站主页百家号seo怎么做
  • 贵阳网站页面设计手机网站怎么优化
  • 凌哥seo节点seo课程培训
  • c 做网站的六大对象网络销售怎么才能找到客户