参考地址:https://www.cnblogs.com/we8fans/p/7384291.html

Mac+appium:https://blog.csdn.net/u011517841/article/details/54923872

Mac os虚拟:https://jingyan.baidu.com/article/c74d6000b3ca190f6a595d37.html

在Mac上搭建appium:https://testerhome.com/topics/6962

https://blog.csdn.net/u010742414/article/details/76439147    严格按步骤安装

搭建ios WebDriverAgent及 启动虚拟机:https://testerhome.com/topics/7861

设置成nat模式:https://jingyan.baidu.com/article/e8cdb32b4217e737052baddb.html

Appium+java+testng+Mac环境搭建:https://www.jianshu.com/p/dcf446c2d616

Mac os下载:https://support.apple.com/zh_CN/downloads/macos

ISO用appium inspector定位元素:

选择Automatic Server或者Custom Server进行如下配置,均可以实现定位配置

{

"platformName":"iOS",

"platformVersion":"11.2",

"deviceName":"iPhone 7",

"bundleId":"com.tc.HelloWorld",

"automationName":"XCUITest"

}

指定系统,版本,设备,app或者是App的bundleId之后,即可开始定位元素

Appium iOS 简易配置  https://testerhome.com/topics/3805

通过以上链接提供的方法找到 appPath之后,就可以建立会话了,会话建立成功后可以进行定位

1.创建手机模拟器

在Xcode中运行一个应用,会自动创建手机模拟器,如下图就是自己实现一个简单的app,运行得到模拟器

定位元素如上图,可以找到要操作的元素的id,或是name或是xpath进行定位,找到要操作的内容

编写测试脚本,如下例:

package testIos;

import java.io.File;

import java.net.MalformedURLException;

import java.net.URL;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;

import org.openqa.selenium.remote.DesiredCapabilities;

import io.appium.java_client.AppiumDriver;

import io.appium.java_client.ios.IOSDriver;

public class TestIOS {

private static IOSDriver driver = null;

public static void main(String[] args) {

//                File classpathRoot = new File(System.getProperty("user.dir"));

File classpathRoot = new File ("/Users/macos/Library/Developer/Xcode/DerivedData/HelloWorld-dvviwzyynfqossaphbzqkbjdmcjk/Build/Products/Debug-iphonesimulator/HelloWorld.app");

//                File appDir = new File(classpathRoot, "apps");

//                File app = new File(classpathRoot);

///Users/sks/Library/Developer/Xcode/DerivedData/YCMath345-iOS-gswmmorclgkffeevdytydhjkdhjk/Build/Products/Debug-iphonesimulator/YCMath345-iOS.app

System.out.println("设置路径完毕");

//设置自动化相关参数

DesiredCapabilities capabilities = new DesiredCapabilities();

capabilities.setCapability("appium-version", "1.6.3");

capabilities.setCapability("platformVersion", "11.2");

capabilities.setCapability("platformName", "iOS");

capabilities.setCapability("deviceName", "iPhone 8 Plus");

capabilities.setCapability("budnleId", "com.tc.HelloWorld");

capabilities.setCapability("automationName", "XCUITest");

System.out.println("设置自动化相关参数");

//设置apk路径

capabilities.setCapability("app", classpathRoot.getAbsolutePath());

try {

driver = new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

} catch (MalformedURLException e) {

e.printStackTrace();

}

//设置等待秒数

driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);

System.out.println("初始化 AppiumDriver");

//String button = "XCUIElementTypeButton[@name='Set Default Label Text']";

XCUIElementTypeApplication[@name="HelloWorld"]/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeTextField/XCUIElementTypeTextField

String button = "XCUIElementTypeApplication[@name=\"HelloWorld\"]/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeTextField/XCUIElementTypeTextField";

driver.findElementByXPath(button).click();

System.out.println("设置了线程休眠20秒....");

//线程睡眠,ms

try {

Thread.sleep(20000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

//driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

System.out.println("视频播放20秒后");

// driver.wait(10);

System.out.println("Session One-First case-End!");

driver.quit();

}

}

  1. 操作过程:

1.从app store下载 app,导入Xcode编译, 记得修改 Bundle ID为唯一

会将App编译安装到 手机模拟器上,同时启动手机模拟器

2.设置appium inspector 如上图,启动会话,会话启动成功后 可定位元素

以键值对的形式,设置模拟器,平台,版本,待测App包路径等

3.eclipse中实现测试代码,引入java-client和selenium jar包

3.本地与虚拟机之间传递文件

MAC+appium自动化测试相关推荐

  1. Mac 搭建Appium自动化测试环境

    Mac 搭建Appium自动化测试环境 环境搭建列表 通用环境 Ⅰ 安装 Homebrew Ⅱ 安装 Node & NPM Ⅲ 安装 JDK Ⅳ 安装 Carthage Ⅴ 安装 Appium ...

  2. 虫师python appium自动化测试书_Appium移动自动化测试(一)--安装Appium

    这套教程年久失修,问题的人也比较多,于是,我重新整理了一套appium入门教程. ---------2017.11.16 更新----------------------- Appium 自动化测试是 ...

  3. Appium自动化测试框架

    Appium自动化测试框架 环境搭建 adb 构成和原理 连接 包名,界面名 文件传输 获取APP启动时间 获取手机日志 安装和卸载APP 进入到安卓手机内部的Linux系统命令行 启动和停止adb服 ...

  4. 全网最全appium工作原理以及appium自动化测试环境搭建教程

    目录:导读 一.前言 二.Appium简介 三.搭建Appium+Python自动化测试环境 1.安装JDK并配置JDK的环境变量. 2.安装SDK并配置SDK的环境变量. 3.安装夜神模拟器并在模拟 ...

  5. Appium 自动化测试

    前言: [文章末尾给大家留下了大量的福利] 1.Appium介绍 1,appium是开源的移动端自动化测试框架: 2,appium可以测试原生的.混合的.以及移动端的web项目: 3,appium可以 ...

  6. appium 驱动 对应9.0 系统_以后做Appium自动化测试,再也不会踩这些坑了!

    一.前言 APP的 webview 自动化是依赖于 chromedriver 的,并且每个APP的 webview 版本号都不太一样,这就导致了每次都需要重新去下载对应的chromedriver 版本 ...

  7. python appium自动化测试框架unittest_Appium基于Python unittest自动化测试 自动化测试框架 -- PO并生成html测试报告...

    基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(unitt ...

  8. appium的python教程_移动App Appium自动化测试教程Appium+Python 【2018年新】_IT教程网...

    资源名称:移动App Appium自动化测试教程Appium+Python [2018年新] 资源目录: 第一章:App自动化测试概述 1-1 Appium自动化课程简介 1-2 课程大纲 1-3 移 ...

  9. pythonapp自动化_移动App Appium自动化测试教程Appium+Python 【2018年新】

    资源介绍 资源名称:移动App Appium自动化测试教程Appium+Python [2018年新] 资源目录: 第一章:App自动化测试概述 1-1 Appium自动化课程简介 1-2 课程大纲 ...

  10. Python Appium自动化测试框架 综合实践案例(中)

    Time will tell. 本篇章紧接上一篇继续来分享关于 Appium 自动化测试框架综合实践案例代码.框架所需要的代码实现都已基本完成. data数据封装 1.使用背景 在实际项目过程中,我们 ...

最新文章

  1. 东野圭吾最值得看的书排行榜_东野圭吾最值得看的7本作品,我进了坑就再也没出来...
  2. bzoj1834: [ZJOI2010]network 网络扩容
  3. 站长们都会,但是都会写错的robots!
  4. 第八周项目实践6 KMP算法(串的模式匹配)
  5. HDFS 文件系统NameSpace、副本机制
  6. ssdb php客户端接口文档
  7. SpringBoot 逻辑判断
  8. leetcode - 234. 回文链表
  9. 字节跳动入局外卖赛道 美团饿了么怕了吗?
  10. ETH基金会社区经理:以太坊改进流程EIP-1正在更新
  11. 【渝粤教育】国家开放大学2018年秋季 2505T学前儿童社会教育 参考试题
  12. LOJ P3960 列队 树状数组 vector
  13. 计算机锁定无法安装软件,无法安装软件是什么原因,Win10无法安装应用软件的处理方法...
  14. 【虚拟化生态平台】虚拟化平台搭建
  15. HTML+CSS大作业`游戏设计网站设计——游戏介绍(5页) 大学生游戏网页设计作业模板下载 网游网页设计作业成品 静态HTML手游网页制作下载_网页设计代码
  16. linux任务调度框架,任务调度框架Hangfire 简介
  17. selenium被检测了怎么办?
  18. SQL语句的强大综合集锦
  19. springboot设置首页
  20. 第9章第9节:完成过渡页幻灯片版式的制作 [PowerPoint精美幻灯片实战教程]

热门文章

  1. deepin-wine下微信升级到最新版方法
  2. 130 个相见恨晚的超实用网站
  3. nrm详解,nrm是什么,nrm源管理器,nrm 与npm 的区别
  4. python脚本课程_python选课脚本
  5. nginx的安装升级、常用配置(二)
  6. 中文手机评论情感分析系列(二)
  7. 黎曼Zeta函数,人类文明永恒的纪念
  8. DLNA开发Platinum引擎构建
  9. MySQL 添加注释(comment)
  10. .glusterfs_如何在Ubuntu 20.04上使用GlusterFS创建冗余存储池