Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为Android自动化设置Appium环境?_Appium - Fatal编程技术网

如何为Android自动化设置Appium环境?

如何为Android自动化设置Appium环境?,appium,Appium,我在测试中担任SD。我是Appium自动化工具的新手,这个工具在为我设置环境时非常棘手 我提到了以下链接: 这个链接帮助我通过命令行安装了Node.js和appium。但我不确定这样做是否正确 我从命令行收到以下消息: mani-kandans-MacBook-Pro:platform-tools manikandan$ info: Welcome to Appium v0.8.2 (REV e9cc66197ad6a3496322bd77a8699509fc761b69) info: Appi

我在测试中担任SD。我是Appium自动化工具的新手,这个工具在为我设置环境时非常棘手

我提到了以下链接:

这个链接帮助我通过命令行安装了
Node.js
和appium。但我不确定这样做是否正确

我从命令行收到以下消息:

mani-kandans-MacBook-Pro:platform-tools manikandan$ info: Welcome to Appium v0.8.2 (REV e9cc66197ad6a3496322bd77a8699509fc761b69)
info: Appium REST http interface listener started on 0.0.0.0:4723
   info  - socket.io started
在这之后我什么都不知道。如何编写测试用例并通过Appium运行它

如果您有兴趣分享关于Appium工具的知识。请引导我

  • 如何安装Appium
  • 如何通过Appium工具运行testcase

  • 第一部分:-。您似乎已经使用node server.js启动了appium服务器 -您可以通过在浏览器中转到
    localhost:4723/wd/hub/status
    来检查服务器。这将返回服务器的一些详细信息。你已经这样做了

    命令输出如下所示,确认服务器已启动:

    info: Welcome to Appium v0.8.1 (REV ***********************************)
    info: Appium REST http interface listener started on 0.0.0.0:4723
           info  - socket.io started
    
    第二部分:-。接下来,您将使用selenium RC for Python、Java或c#或您选择的任何语言。我使用了c#,并且可以提供一些示例,这些示例应该与您的测试类似

    使用OpenQA.selenium.Remote将selenium添加到c#类:
    
    将所有数据传递给selenium所需的功能对象。
    存在一些自定义的所需功能,例如:

    • “应用程序包”这是应用程序包名称,如com.myapp.main
    • “应用程序活动”,它是要调用的应用程序主要活动,也将启动应用程序。这通常是一个飞溅活动或主要活动
    • “等待活动”是Appium在启动后将检查的活动,这将是应用程序活动,但对我来说,如果在某些测试中启动了一个新活动,则与调用的活动不同
    • “版本”以android版本为例
    • “设备ID”将您连接的设备或AVD带到命令和应用程序,该命令和应用程序将具有您希望安装的apk的本地路径。这是在启动时签名并安装的。如果已存在辞职应用程序,它将为您跳过此操作

          DesiredCapabilities caps = new DesiredCapabilities();
          caps.SetCapability("app-package", "com.myapp.test");
          caps.SetCapability("browserName", "");
          caps.SetCapability("device", "Android");
          caps.SetCapability("app-activity", "com.myapp.SplashActivity");
          caps.SetCapability("takesScreenshot", true);
          caps.SetCapability("version", "4.1.2");
          caps.SetCapability("device ID", "uniquedeviceid");
          caps.SetCapability("app", @"C:\path to\app\on\pc\app.apk");
      
    按照您创建的功能创建一个远程web驱动程序对象,该对象传递您使用的中心url,例如
    http://localhost:4723/wd/hub
    以及您创建的所需功能

    RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:4723/wd/hub/"), caps);
    
    此行使用Appium服务器的ip或主机开始侦听请求。 对我来说,这一步标志着在连接的设备上安装并启动应用程序,希望这同样适用于你。 这是您编写的selenium测试连接到Appium服务器的地方

    现在,使用创建的
    驱动程序
    对象,您可以访问selenium rc命令,Appium已经为android测试实现了许多替代方案。 在这些过程中,Appium服务器控制台窗口应显示是否存在任何问题

    输出将用颜色编码,以帮助识别此窗口中的故障,但您可以自己处理这些故障,并在需要时输出到文件

    多个设备的更新 我不确定使用多个设备,我会考虑我以前尝试添加2个设备到一台机器,测试有混淆,其中ADB无法区分,无论设备ID添加到配置和命令。 Appium团队一直在进行改进,将网格功能添加到服务器中,我建议您查看一下(更新链接)

    很抱歉,我缺乏网格方面的经验,无法进一步帮助您


    尊敬的Brian,这是我在appium android上的env.rb文件

     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
    

    这似乎是迟到的答复,但我想这篇文章可以帮助一些人,谁是一步一步指南安装在Windows平台上寻找Appium

    此链接主要涉及以下部分

  • JDK安装
  • Android SDK安装路径设置
  • Appium安装

    a) 使用node.js

    b) 使用Appium.exe


  • 要安装Appium,请首先下载所有必需的工具:

  • 安卓工作室
  • 用于Java的Appium Jar文件
  • Java Selenium客户端插件
  • Appium服务器
  • Java SDK
  • 下载所有这些工具后,请按照本博客中提到的步骤进行操作:


    在这里,我试图解释使用Appium配置和运行Android移动自动化测试用例的完整端到端设置说明

    Download Java and set Java_Home in environmental variables
    
    Download Android STUDIO from below link
    https://developer.android.com/studio/index.html
    
    Check Android installation path in Machine
    
    Set Android_Home Environmental variables path to SDK location and include bin folder paths in PATH variable
    
    Open Android Studio and configure Virtual device/Emulator
    Open Emulator and check if it is working.
    Download Node.js                                                                                                                        
    https://nodejs.org/en/download/
    Set Node_Home Environmental variables path
    Set npm Environmental variables path
    
    Download Appium Server from Node
    Download Appium and Selenium Java client library
    
    Install Eclipse – Create a Project in Eclipse - configure Appium libraries
    Add All dependencies 
    
    //You can download any node module only using npm
    
    
    npm install – g appium –  Latest Stable release version 1.16.0 – Android 10+ version
    
    npm uninstall -g appium // g stands for global
    
    Appium – starts the server
    

    非常感谢你的帮助。我已经按照您的指示完成了android应用程序的安装。现在我想使用appium运行多个设备。请帮助我。我已经更新了我的例子,详细介绍了扩展多设备支持,不幸的是,我还没有自己解决这个问题,所以我的经验只是理论上的。我提供了您可能找到的工具的链接,这些工具将解决您的扩展计划。@Manidroid请针对多个设备发布不同的问题。您想用什么编写测试?红宝石?JAVA你是在通过mobile safari和chrome测试web应用程序,还是在测试本地应用程序?首先,我要对延迟重播表示抱歉。我正在用python和Java编写测试用例,我们的安装环境已经完成。现在我们面临着一些其他的拦截器,比如多设备支持,并在2.x设备中运行测试用例。你能帮我们对付这些拦截器吗。谢谢。你可以参考我的博客:希望对你有所帮助。