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 ‘rubygems‘ require ‘appium_lib‘ APP_PATH = ‘/Users/zhangminjie/Documents/AppiumTest2/apps/TestApp/build/Release-iphonesimulator/TestApp.app‘ desired_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 driver Appium::Driver.new(desired_caps).start_driver module 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!‘ end end
Android上面比较简单,装了Android模拟器,启动Android模拟器
require ‘appium_lib‘ caps = { 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
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。