All Projects → vbanthia → Appium Jenkins Demo

vbanthia / Appium Jenkins Demo

Run Appium tests on Jenkins

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Appium Jenkins Demo

MasterAppiumFramework
Automation Testing | Mobile | Java | OOPS | Appium | TestNG | Maven | ExtentReport | Java mail API | Logging (Log4J2) | Design Patterns (Page Object Model, Singleton) | Page Factories | Jenkins | Data-Driven Testing using JSON file | Expected Data using XML file
Stars: ✭ 27 (-32.5%)
Mutual labels:  jenkins, appium
Selenium Jupiter
JUnit 5 extension for Selenium WebDriver
Stars: ✭ 185 (+362.5%)
Mutual labels:  jenkins, appium
Flutter engine build
Flutter Engine构建产物归档
Stars: ✭ 19 (-52.5%)
Mutual labels:  jenkins
Jenkins Android Docker
🐳 Docker image for Jenkins with Android
Stars: ✭ 35 (-12.5%)
Mutual labels:  jenkins
Jenkins Dry In Pipelines
Some useful generic funcions to use with Shared Libraries feature of Jenkins Pipelines
Stars: ✭ 13 (-67.5%)
Mutual labels:  jenkins
Django Jenkins
Plug and play continuous integration with django and jenkins
Stars: ✭ 933 (+2232.5%)
Mutual labels:  jenkins
Onec Cicd
😎 CI-стенд для 1С:Предприятие 8.3.
Stars: ✭ 32 (-20%)
Mutual labels:  jenkins
Err Jenkins
errbot plugin for Jenkins
Stars: ✭ 18 (-55%)
Mutual labels:  jenkins
Ansible Role Jenkins2
This Ansible role can be used to install and manage Jenkins 2.
Stars: ✭ 39 (-2.5%)
Mutual labels:  jenkins
Summary
个人总结 持续更新 欢迎提出各种issues
Stars: ✭ 12 (-70%)
Mutual labels:  jenkins
Linux Tutorial
《Java 程序员眼中的 Linux》
Stars: ✭ 7,757 (+19292.5%)
Mutual labels:  jenkins
Jenkins4j
Simple and effective Jenkins API wrapper written in Java
Stars: ✭ 12 (-70%)
Mutual labels:  jenkins
Mini Deploy
微信小程序发布助手 mini program
Stars: ✭ 26 (-35%)
Mutual labels:  jenkins
Jenkins Library
Shared Library for Jenkine Pipeline
Stars: ✭ 32 (-20%)
Mutual labels:  jenkins
Appcrawler
基于appium的app自动遍历工具
Stars: ✭ 925 (+2212.5%)
Mutual labels:  appium
Docker Jenkins Android
Jenkins docker image for Android development
Stars: ✭ 35 (-12.5%)
Mutual labels:  jenkins
Docker Jenkins
Jenkins with Blue Ocean and support for builiding jobs in Docker
Stars: ✭ 18 (-55%)
Mutual labels:  jenkins
Uiauto
在docker搭建selenium grid集群环境(chrome+firefox)前提下,结合TestNG+ANT进行UI自动化测试。可使用jenkins持续集成。
Stars: ✭ 11 (-72.5%)
Mutual labels:  jenkins
Appium Selenium Starter
Open source, complete and easy to use QA Automation platform
Stars: ✭ 30 (-25%)
Mutual labels:  appium
Nagios Plugins
450+ AWS, Hadoop, Cloud, Kafka, Docker, Elasticsearch, RabbitMQ, Redis, HBase, Solr, Cassandra, ZooKeeper, HDFS, Yarn, Hive, Presto, Drill, Impala, Consul, Spark, Jenkins, Travis CI, Git, MySQL, Linux, DNS, Whois, SSL Certs, Yum Security Updates, Kubernetes, Cloudera etc...
Stars: ✭ 1,000 (+2400%)
Mutual labels:  jenkins

appium-jenkins-demo

This demo project will helps you in integrating your appium tests with Jenkins. This project contains an iOS demo appliation, test examples written in ruby using rspec, instructions and explaination for basic setup.

After completing this demo you will be able to create a system in which your appium tests will be automatically triggered on simulator or real devices just after any change is made on your master branch.

Note: If you do not have any experience in writing test using appium before please go through these tutorials

Table of contents

Demo Applications

This repository contains iOS and Android demo applications in ios and android directory respectively.

iOS

The current iOS demo application is a simple single view calculator app which can add and subtract two numbers. I intentionally put a bug in subtraction feature. Instead of subtracting, it is adding them. Lets see how appium catch this bug.

It looks like this. iOS App Screenshot

Android

TODO

Local Setup

Prerequisites

  • Mac OS X (Tested with Version 10.9.5)

  • Xcode (Tested with Version 6.2)

  • Xcode command line tools

  • Node (Tested with Version 0.10.29 installed using Homebrew)

    brew install node 
    
  • Ruby (Tested with Version 2.1.5 installed using rbenv)

Clone project

git clone https://github.com/vbanthia/appium-jenkins-demo.git
cd appium-jenkins-demo

Build demo app binaries

iOS

  • iOS Simulator

    cd ios
    
    # Run xcodebuild command
    xcodebuild -target AppiumJenkinsDemo -sdk   iphonesimulator -configuration Debug clean build 
    
    • This will create a binary file in ./build/Debug-iphonesimulator/AppiumJenkinsDemo.app
  • iOS real device

    • For real device you have to first add yourprovisioning profile and Developer team in project.
    • Open AppiumJenkinsDemo.xcodeproj in Xcode and update Team and Provisioning profile.
    • Run below command
    cd ios
    
    # Run xcodebuild command
    xcodebuild -target AppiumJenkinsDemo -sdk   iphoneos -configuration Debug clean build 
    
    • This will create a binary file in ./build/Debug-iphoneos/AppiumJenkinsDemo.app

Android

TODO

Install Dependencies

Appium

Instead of installing appium globally, I suggest it to install project specific using npm. Appium version is set in package.json file. If you want to change version, update this file.

Install appium using following command

npm install

Ruby Gems

Install ruby gems using following command

bundle install --path=vendor

Run Test Locally

Now you are ready to run test locally. Confirm if every thing is okay by running following command.

bundle exec rake -T

It will return something like below

rake spec:addition     # Run test for addition feature
rake spec:subtraction  # Run test for subtraciton feature

As I explained above, iOS demo app has two features of addition and subtraction. I wrote two different spec files addition_spec.rb and subtraction_spec.rb and created corresponding rake task to test both the features. As I told before there is a bug in subtraction feature so spec:subtraction task will fail while spec:addition will pass.

Run test using following command

APP_PATH=./ios/build/Debug-iphonesimulator/AppiumJenkinsDemo.app bundle exec rake spec:(addition|subtraction)

You can see the result in html format in result.html file. It will also embed screenshot of the device if test fails.

Jenkins Setup

If you do not have any experience in using jenkins, I will suggest you to first read about it before going further.

Install Jenkins

There are many ways to install Jenkins for mac osx. But I will recommend you to install it using Homebrew

brew install jenkins

Install required plugins

Following plugins will be required to run this demo project.

If you do not know how to install plugin. Please read this.

Create Jobs

I have uploaded Jenkins jobs config file in jobs directory. You can create jobs by using those config files.

There are three kind of jobs.

Create Pipeline View

Finally you can create a pipeline view using build pipeline plugin by selecting initial job as appium_jenkins_demo_ios_app_simulator.

It will look like this PipeLine View Image

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].