All Projects → AirtestProject → Ios Tagent

AirtestProject / Ios Tagent

Licence: other
iOS support agent for automation

Projects that are alternatives of or similar to Ios Tagent

Cocoaasyncsocket demo
基于AsyncSocket搭建即时通讯体系 . 包含TCP连接 , 消息发送 , 消息接收 , 心跳处理 ,断网重连 , 消息超时 , 消息分发 , 数据库结构设计 , 消息丢失等 . 以及UI设计, 文本表情消息/语音消息/图片消息/视频消息/文件消息/撤回消息/提示语消息的实现思路讲解
Stars: ✭ 981 (+145.25%)
Mutual labels:  ios-app, ios-ui
Swiftui Tutorials
A code example and translation project of SwiftUI. / 一个 SwiftUI 的示例、翻译的教程项目。
Stars: ✭ 1,992 (+398%)
Mutual labels:  ios-app, ios-ui
Apple Automation
iOS/macOS 自动化,效率玩法探索。
Stars: ✭ 60 (-85%)
Mutual labels:  ios-app, automation
Grizzly
A cross-platform browser fuzzing framework
Stars: ✭ 234 (-41.5%)
Mutual labels:  automation, automated-testing
Leon
Leon is swift library to show and slid images with more gesture
Stars: ✭ 16 (-96%)
Mutual labels:  ios-app, ios-ui
Example Ios Apps
 A curated list of Open Source example iOS apps developed in Swift. An amazing list for people who are beginners and learning ios development and for ios developers who need any example app or feature.
Stars: ✭ 461 (+15.25%)
Mutual labels:  ios-app, ios-ui
Swiftcocoadsl
An easy way to write iOS UI
Stars: ✭ 103 (-74.25%)
Mutual labels:  ios-app, ios-ui
Reportportal
Main Repository. Report Portal starts here - see readme below.
Stars: ✭ 1,175 (+193.75%)
Mutual labels:  automation, automated-testing
CustomKeyboard
A simple and fast implementation of a custom numeric keypad. There is always a keyboard for you.
Stars: ✭ 20 (-95%)
Mutual labels:  ios-app, ios-ui
Mycoretextlabel
图文混排 , 实现图片文字混排 , 可显示常规链接比如网址,@,#话题#,手机号 , 邮箱号等 , 可以自定义链接字,设置关键字高亮等功能 . 适用于微博,微信,IM聊天对话等场景 . 实现这些功能仅用了几百行代码,耦合性也较低
Stars: ✭ 192 (-52%)
Mutual labels:  ios-app, ios-ui
Taisite Platform
最强接口测试平台
Stars: ✭ 203 (-49.25%)
Mutual labels:  automation, automated-testing
Iosproject
IOS综合项目,完善的框架,路由模块化设计,集成科大讯飞SDK方便iOS基本输入控件实现语音辅助输入,UI效果参照京东APP,JS与OC交互,ionic跨平台开发,MQTT 协议,即时通讯协议,视屏播放,跑马灯效果 仿美团地图定位,城市收索, 友盟分享,基础动画 增加FCUIID帮助类,引导页功能模块,照片上传 ,UIView自定义导航栏,文件下载,Masonry 案例,fmdb,数据库,sqlite,百度地图,二维码,照片上传,照片上传有进度,列表倒计时,H5和原生交互,自定义各种弹框,常见表单类型,人脸识别,列表加载图片,列表拖拽,日历操作,导航条渐变,核心动画,动画特效等等
Stars: ✭ 291 (-27.25%)
Mutual labels:  ios-app, ios-ui
Auto.js
A UiAutomator on android, does not need root access(安卓平台上的JavaScript自动化工具)
Stars: ✭ 10,882 (+2620.5%)
Mutual labels:  automation, automated-testing
Iosproject
iOS project of collected some demos for iOS App, use Objective-C
Stars: ✭ 5,357 (+1239.25%)
Mutual labels:  ios-app, ios-ui
Sillynium
Automate the creation of Python Selenium Scripts by drawing coloured boxes on webpage elements
Stars: ✭ 100 (-75%)
Mutual labels:  automation, automated-testing
Slidingtabbar
A custom TabBar view with sliding animation written in Swift.
Stars: ✭ 84 (-79%)
Mutual labels:  ios-app, ios-ui
Spix
UI test automation library for QtQuick/QML Apps
Stars: ✭ 48 (-88%)
Mutual labels:  automation, automated-testing
Poco
A cross-engine test automation framework based on UI inspection
Stars: ✭ 1,177 (+194.25%)
Mutual labels:  automation, automated-testing
Lovefreshpeakapp oc
IOS电商购物APP: 爱鲜蜂OC版,规范的代码风格,使用Masonry布局适配所有ios机型 Shopping e-commerce projects, using automatic layout, suitable for any Ios model Website ;
Stars: ✭ 152 (-62%)
Mutual labels:  ios-app, ios-ui
RDPopup
A simple way to add custom Popup. Design on Nib and use as you want. Written in Objective-C.
Stars: ✭ 19 (-95.25%)
Mutual labels:  ios-app, ios-ui

iOS-Tagent Introduction

iOS-Tagent is a project based on facebook WebDriverAgent and intend to fit Airtest Project.

We make some customized optimization and adjustments to it and it works well in:

iOS Xcode
≥ 13 11.x
10.x-12.x 10.x
≥ 9.3 ≥ 9.3

Other versions of Xcode and iOS are not fully tested and may cause unexpected errors.

If you need README in Chinese, click here(如需中文文档,请点击这里)

Getting Started

To perform Airtest in iOS, the following steps are required

1. iOS-Tagent

Create a WebDriver server on your iPhone which makes it possible to remote control iOS devices and locate UI elements.

  • 1.1 Clone or Download iOS-Tagent

    git clone [email protected]:AirtestProject/iOS-Tagent.git

  • 1.2 Open iOS-Tagent with Xcode and connect your iPhone to Mac with a data cable

    Select product -> Scheme -> WebDriverAgentRunner in the top menu of Xcode

    Then select product -> Destination -> your iPhone

    chooseScheme

  • 1.3 Start tests by click product -> Test. When something like this shows in the log, it means that iOS-Tagent have started successfully.

    Test Suite 'All tests' started at 2017-01-23 15:49:12.585
    Test Suite 'WebDriverAgentRunner.xctest' started at 2017-01-23 15:49:12.586
    Test Suite 'UITestingUITests' started at 2017-01-23 15:49:12.587
    Test Case '-[UITestingUITests testRunner]' started.
    t =     0.00s     Start Test at 2017-01-23 15:49:12.588
    t =     0.00s     Set Up

More about how to start WebDriverAgent here and here

2. Set up proxy

iproxy maps the iPhone port to the Mac port, so you can access the phone by accessing the Mac.

You need to set up the usb proxy to access the Agent on the actual phone, as there may be problems when accessing directly through wifi. For more information, check Issues and detail

The original source code of iproxy is shown in https://github.com/libimobiledevice/libimobiledevice

  • 2.1 Install iproxy with Homebrew

    $ brew install libimobiledevice

  • 2.2 Run iproxy

    $ iproxy 8100 8100

Then try to access http://127.0.0.1:8100/status in your mac browser. If a json data about your iPhone is returned, it means iproxy started successfully. Moreover, you can see iPhone screen projected on the browser by visiting http://127.0.0.1:8100/inspector .

Note that iproxy can only listen to localhost. If you want to connect iPhone on AirtestIDE on a windows OS, you can try wdaproxy. The specific steps are as follows:

  • Connect iPhone to Mac with a usb cable.
  • Run wdaproxy in Mac. wdaproxy can map the iPhone port to the Mac port too. You can see the installation instruction in https://github.com/openatx/wdaproxy .
  • Fill ip address and port of the iPhone (retrieved in the previous step) in the input box of AirtestIDE on Windows and click button "connect".

3. AirtestIDE

Connect to the iPhone by ip address, refresh screen, run tests

After the above two steps, you can fill "http://127.0.0.1:8100" in the iOS address input box of AirtestIDE. Click button "connect" to connect your iPhone and start your Airtest test.

connectDevice

image

Note that you can also view the device Hierarchy

This feature work with Poco and AirtestIDE.

Q & A

We have collected a series of common issues on our Q&A. If you have any questions, please take a look at these first. If you can't find your issue here, or you have any suggestion, please feel free to post it in Issues.

  1. Xcode version
  2. iOS Developer Account
  3. Login to Xcode
  4. Manage developer certificate
  5. Xcode failed to create provisioning profile
  6. Trust certificate

API status

This project intend to work with AirtestIDE and AirtestFramework

Common API in Airtest is supported

  • start_app: OK
  • stop_app: OK
  • snapshot: OK
  • home: OK
  • touch: OK
  • swipe: OK
  • text: OK
  • wait: OK
  • exists: OK
  • find_all: OK
  • assert_exists: OK
  • assert_not_exists: OK

except:

  • wake: Not supported now (may use 'home' instead)
  • keyevent: Only support 'home' event
  • clear_app: Not supported now
  • install: Not supported now
  • uninstall: Not supported now

License

This project is based on WebDriverAgent :

WebDriverAgent is BSD-licensed . We also provide an additional patent grant.

Have fun with Airtest!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].