How to setup Appium Environment for Android Automation?

前端 未结 4 1988
别那么骄傲
别那么骄傲 2020-12-23 15:31

I am working as SD in Test. I am new to Appium Automation tool, this tool is very tricky to set up environment for me.

I referred following link: http://unmesh.me/c

4条回答
  •  滥情空心
    2020-12-23 15:45

    Here's my env.rb file for appium android.

     require 'rubygems'
    require 'appium_lib'
    
    # Start Android driver
    apk = {
        device: :android,
        app_path: (true && ENV['apk']) || 'path to apk',
        app_package: (true && ENV['package']) || 'com.foo.cam',
        app_activity: (true && ENV['activity']) || '.SplashActivity',
        app_wait_activity: (true && ENV['activity']) || '.MainActivity',
    }
    Appium::Driver.new(apk).start_driver
    
    Appium.promote_appium_methods Object
    
    log = Logger.new(STDOUT)
    
    case ENV['log']
      when 'WARN'
        log.level = Logger::WARN
      when 'DEBUG'
        log.level = Logger::DEBUG
      when 'INFO'
        log.level = Logger::INFO
      when 'ERROR'
        log.level = Logger::ERROR
      when 'FATAL'
        log.level = Logger::FATAL
      when 'UNKNOWN'
        log.level = Logger::UNKNOWN
      else
        log.level = Logger::DEBUG
    end
    
    log.debug('starting suite')
    
    Before do
      @test_env = {
          device: driver,
          main_activity: (true && ENV['main_activity']) || 'grid.GridLoginActivity',
          logger: log
      }
    end
    
    # Optional--clears alerts 
    After ('@rate_limit') do |scenario|
      log = @test_env[:logger]
      device = @test_env[:device]
    
      if scenario.failed?
        begin
          wait = Selenium::WebDriver::Wait.new :timeout => 1
          wait.until { device.alert_accept }
          log.debug('cleared rate limit dialog')
        rescue
          log.error("dialog didn't pop.")
        end
      end
    
      log.debug('rate_limit finished')
    end
    
    After ('@network_connection') do |scenario|
      log = @test_env[:logger]
      device = @test_env[:device]
    
      if scenario.failed?
        begin
          wait = Selenium::WebDriver::Wait.new :timeout => 1
          wait.until { device.alert_accept }
          log.debug('cleared network connection issue')
        rescue
          log.error("dialog didn't pop.")
        end
      end
    
      log.debug('network_connection finished')
    end
    

提交回复
热议问题