文章目录如下

录制用例并执行

  • 使用Appium desktop录制用例
  • 安装Python依赖pip install Appium-Python-Client
  • 增加隐式等待增强稳定性
  • 重新运行

1、使用Appium desktop录制用例

autoGrantPermissions=true #不再跳出定位信息



选择右下方的Send Keys, 跳出输入框,输入搜索内容并点击Send Keys按钮。



之后可以看到录制的脚本内容以及可以选择语言类型,如下图所示:

1、代码片段

2、选择脚本语言

3、显示全部的脚本语言——Python

# This sample code uses the Appium python client
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python
from appium import webdriver
caps = {}
caps["platformName"] = "android"
caps["deviceName"] = "pzhang7"
caps["automationName"] = "uiautomator2"
caps["appPackage"] = "com.xueqiu.android"
caps["appActivity"] = ".view.WelcomeActivityAlias"
caps["autoGrantPermissions"] = "true" driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps) el1 = driver.find_element_by_id("com.xueqiu.android:id/home_search")
el1.click()
el2 = driver.find_element_by_id("com.xueqiu.android:id/search_input_text")
el2.send_keys("alibaba")
driver.quit()
4、复制脚本
5、删除脚本



(3)、显示全部的脚本语言——Java

import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
import junit.framework.TestCase;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.remote.DesiredCapabilities; public class SampleTest { private AndroidDriver driver; @Before
public void setUp() throws MalformedURLException {
DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
desiredCapabilities.setCapability("platformName", "android");
desiredCapabilities.setCapability("deviceName", "pzhang7");
desiredCapabilities.setCapability("automationName", "uiautomator2");
desiredCapabilities.setCapability("appPackage", "com.xueqiu.android");
desiredCapabilities.setCapability("appActivity", ".view.WelcomeActivityAlias");
desiredCapabilities.setCapability("autoGrantPermissions", "true"); URL remoteUrl = new URL("http://127.0.0.1:4723/wd/hub"); driver = new AndroidDriver(remoteUrl, desiredCapabilities);
} @Test
public void sampleTest() {
MobileElement el1 = (MobileElement) driver.findElementById("com.xueqiu.android:id/home_search");
el1.click();
MobileElement el2 = (MobileElement) driver.findElementById("com.xueqiu.android:id/search_input_text");
el2.sendKeys("alibaba");
} @After
public void tearDown() {
driver.quit();
}
}

2、安装Pythony依赖Appium-Python-Client

将上述的Python脚本保存到本地任意路径下,在Python脚本最上面3行可看到描述说要安装Appium-Python-Client之后才能正常运行脚本

pip install Appium-Python-Client



退出Appium的录制界面;

然后切换到cmd界面,并执行Python脚本,如下图,出现异常信息,其实就是没有找到元素

3、增加隐式等待增强稳定性

上述代码增加隐式等待之后重新运行即可

driver.implicitly_wait(10) #添加隐式等待10秒

# This sample code uses the Appium python client
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python from appium import webdriver caps = {}
caps["platformName"] = "android"
caps["deviceName"] = "pzhang7"
caps["automationName"] = "uiautomator2"
caps["appPackage"] = "com.xueqiu.android"
caps["appActivity"] = ".view.WelcomeActivityAlias"
caps["autoGrantPermissions"] = "true" driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps) driver.implicitly_wait(10) #添加隐式等待10秒 el1 = driver.find_element_by_id("com.xueqiu.android:id/home_search")
el1.click()
el2 = driver.find_element_by_id("com.xueqiu.android:id/search_input_text")
el2.send_keys("alibaba") driver.quit()

4、重新运行

重新运行上面的测试用例,在等待10秒之后就可以正常运行了。

Appium移动端自动化测试--录制测试用例并运行的更多相关文章

  1. appium 移动端自动化测试工具

    appium 移动端自动化测试工具 appium 移动端自动化测试工具 appium 是哟个自动化测试开源工具 支持ios和安卓平台的应用 以及web应用和混合应用 appium 是一个跨平台的工具: ...

  2. appium移动端自动化测试环境搭建windows-appium-android

    第一步:安装jdk 安装jdk(1.7版本以上) 安装完成设置jdk环境变量(百度查询) cmd命令下键入 java -version命令检查jdk是否安装成功且设置环境变量成功,如下图所示: 第二步 ...

  3. Appium移动端自动化测试--使用IDE编辑并强化脚本

    目录 Appium客户端安装 安装Python IDE-Pycharm Java IDE 安装 使用隐式等待让用例更稳定 隐式等待 启动Appium非GUI模式:Appium Server 安装Pyt ...

  4. appium 移动端自动化测试一

    最近公司决定使用appium为主体框架做一个移动端得自动化测试系统,我会陆续记录项目得进展. 1.首先是appium环境得搭建, 需要安装appium-server ,appium-desktop, ...

  5. appium移动端自动化测试的一些感想

    花了一个多月的时间来复习,学习appium+python+android的UI层的自动化测试. 从最开始的环境搭建,都后面运行脚本报错各类错,到优化脚本结构,基本上问题不断. 相比,selenium做 ...

  6. Appium移动端自动化测试-安卓真机+模拟器启动

    一.环境准备 appium-pythin-client版本(0.17),selenium版本(2.53.6)(版本需对应,否则执行脚本可能出错,我用的是这两个版本) macOs版本10.14.1(ap ...

  7. Appium移动端自动化测试--搭建模拟器和真机测试环境

    详细介绍安装Android Studio及Android SDK.安装Appium Server. 文章目录如下 目录 文章目录如下 模拟器--安装Android Studio及Android SDK ...

  8. appium ios端自动化测试配置

    一.安装环境介绍macOS 10.12.4 Xcode 8.3.2 适用机型:iOS9 及以上机型 二.Appium源码安装Xcode升级8.2之后不再支持UIAutomation,转而使用XCUIT ...

  9. Appium移动端自动化测试--元素操作与触摸动作

    常见自动化动作支持 click sendKeys swipe touch action 元素操作 1.click()点击操作 也可以用tab实现点击操作 driver.find_element_by_ ...

随机推荐

  1. ASP.net MVC C# 当前上下文中不存在名称"viewbag"

    出现的错误如下: 错误 2 当前上下文中不存在名称“model” e:\Stuff\projects\蓝狐软件工作室\src\Lanhu.Admin\Views\Student\Index.cshtm ...

  2. Redis 高可用架构设计(转载)

    转载自:https://mp.weixin.qq.com/s?__biz=MzA3NDcyMTQyNQ==&mid=2649263292&idx=1&sn=b170390684 ...

  3. 【loj3120】【CTS2019】珍珠

    题目 ​ $laofu $出的题 ​ \(n\)个离散型随机变量\(X_i\)可能的值为\([1,D]\) ,求有至少\(m\)对的概率 ​ $0 \le m \le 10^9  ,  1 \le n ...

  4. java基础-数据输入

    import java.util.Scanner; public class ScannerTest { public static void main(String[] args) { //身高未知 ...

  5. VS2017 Asp.Net调式闪退处理

  6. 缺陷的优先程度(Priority)

    测试人员希望程序员什么时间哪个版本修改该bug (1)Urgent 立即修改否则影响开发进度 (2)Veryhigh 本版本修改 (3)High 下个版本修改 (4)Medium 发布前修改 (5)L ...

  7. mysql locate()函数

    mysql> select * from test; +----+------------+-------+-----------+ | id | name | score | subject ...

  8. $(window).load()方法的使用场景

    一.$(window).load().window.onload=function(){}和$(document).ready()方法的区别 1.$(window).load() 和window.on ...

  9. python opencv PyQt5

    import cv2 import numpy as np import sys from PyQt5.QtGui import * from PyQt5.QtCore import * from P ...

  10. java中JSON转含泛型对象

    public static void main(String[] args) { UserDto userDto=new UserDto("test","14" ...