首页 > 代码库 > ruby appium 准备环境

ruby appium 准备环境

最近打算学习下ruby,也顺带深入尝试下appium

于是配置环境

 

os x自带了ruby,所以安装就省了

不过还要安装下Bundler,在我大天朝,gem install bundle有可能报找不到bundle的错误,局域网嘛,多试几次。不行就上个代理

 

Install Bundler:  gem install bundle

Install Gems:  bundle update

这样就算准备好了

跑一下官网给的例子程序

目前appium貌似最高只支持7.1

昨天手贱升级了下xcode到6.0,找了下貌似没发现什么解决办法。

不得不又还原到低版本

ruby simple_test.rb成功启动模拟器,运行了TestApp。这样ios环境方面算是准备好了

# GETTING STARTED# -----------------# This documentation is intended to show you how to get started with a# simple Appium & appium_lib test.  This example is written without a specific# testing framework in mind;  You can use appium_lib on any framework you like.## INSTALLING RVM# --------------# If you don‘t have rvm installed, run the following terminal command## \curl -L https://get.rvm.io | bash -s stable --ruby## INSTALLING GEMS# ---------------# Then, change to the example directory:#   cd appium-location/sample-code/examples/ruby## and install the required gems with bundler by doing:#   bundle install## RUNNING THE TESTS# -----------------# To run the tests, make sure appium is running in another terminal# window, then from the same window you used for the above commands, type## bundle exec ruby simple_test.rb## It will take a while, but once it‘s done you should get nothing but a line# telling you "Tests Succeeded";  You‘ll see the iOS Simulator cranking away# doing actions while we‘re running.require rubygemsrequire appium_libAPP_PATH = /Users/zhangminjie/Documents/AppiumTest2/apps/TestApp/build/Release-iphonesimulator/TestApp.appdesired_caps = {  caps:       {    platformName:  iOS,    versionNumber: 7.1,    deviceName:    iPhone Simulator,    app:           APP_PATH,  },  appium_lib: {    sauce_username:   nil, # don‘t run on Sauce    sauce_access_key: nil  }}# Start the driverAppium::Driver.new(desired_caps).start_drivermodule Calculator  module IOS    # Add all the Appium library methods to Test to make    # calling them look nicer.    Appium.promote_singleton_appium_methods Calculator    # Add two numbers    values       = [rand(10), rand(10)]    expected_sum = values.reduce(&:+)    # Find every textfield.    elements     = textfields    elements.each_with_index do |element, index|      element.type values[index]    end    # Click the first button    button(1).click    # Get the first static text field, then get its text    actual_sum = first_text.text    raise unless actual_sum == (expected_sum.to_s)    # Alerts are visible    button(show alert).click    find_element :class_name, UIAAlert # Elements can be found by :class_name    # wait for alert to show    wait { text this alert is so cool }    # Or by find    find(Cancel).click    # Waits until alert doesn‘t exist    wait_true { !exists { tag(UIAAlert) } }    # Alerts can be switched into    button(show alert).click # Get a button by its text    alert         = driver.switch_to.alert # Get the text of the current alert, using    # the Selenium::WebDriver directly    alerting_text = alert.text    raise Exception unless alerting_text.include? Cool title    alert_accept # Accept the current alert    # Window Size is easy to get    sizes = window_size    raise Exception unless sizes.height == 568    raise Exception unless sizes.width == 320    # Quit when you‘re done!    driver_quit    puts Tests Succeeded!  endend

 

Android上面比较简单,装了Android模拟器,启动Android模拟器

require appium_libcaps   = { caps:       { platformName: Android, appActivity: .ui.ConversationList, appPackage: com.android.mms,deviceName:Android Emulator},           appium_lib: { sauce_username: nil, sauce_access_key: nil } }driver = Appium::Driver.new(caps).start_driver

 

成功启动短信应用,算是拉通了

 

对于我这种英文渣 中文的资料很重要

http://appium.io/slate/cn/v1.2.0/?ruby#appium 

http://www.cnblogs.com/nbkhic/p/3804637.html

ruby appium 准备环境