【问题标题】:How to execute one machine appium script to another machine(Remote machine)?如何将一台机器的appium脚本执行到另一台机器(远程机器)?
【发布时间】:2015-04-08 04:46:02
【问题描述】:

是否可以让 Appium 在远程机器上运行,并且设备也连接在同一台远程机器上,并从本地机器上运行测试脚本?

以下代码在具有本地 appium 服务器的本地机器上运行良好。 请任何人帮助我。bcaz 我是 appium 的新手。

package com.appiumproj.test;    
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.MobileCapabilityType;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.*;

public class Appium {

AppiumDriver driver;

@BeforeClass
public void setUp() throws MalformedURLException{

     //Set up desired capabilities and pass the Android app-activity and app-package to Appium

   DesiredCapabilities capabilities = new DesiredCapabilities();
   capabilities.setCapability(MobileCapabilityType.VERSION, "5.0.2");
   capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
   capabilities.setCapability(MobileCapabilityType.DEVICE_NAME,"ZX1D62FPVQ");
   capabilities.setCapability(MobileCapabilityType.APP_PACKAGE, "com.android.calculatord");
   capabilities.setCapability(MobileCapabilityType.APP_ACTIVITY, "com.android.calculator2.Calculator"); 
   driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}

@Test
public void testCal(){


   WebElement two=driver.findElement(By.name("2"));
    two.click();
    WebElement plus=driver.findElement(By.name("+"));
    plus.click();
    WebElement four=driver.findElement(By.name("4"));
    four.click();
    WebElement equalTo=driver.findElement(By.name("="));
    equalTo.click();

    WebElement results=driver.findElement(By.className("android.widget.EditText"));

    assert results.getText().equals("6"):"Actual value is : "+results.getText()+" did not match with expected value: 6";

    System.out.println("Inside Test Function");
terClass
public void teardown(){


    driver.closeApp();
}
}

【问题讨论】:

    标签: appium selenium-grid remotewebdriver


    【解决方案1】:

    在远程机器的 4723 端口上启动你的 appium 服务器。然后改行

    driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    

    driver = new AndroidDriver(new URL("http://IP OF THE REMOTE MACHINE :4723/wd/hub"), capabilities);
    

    【讨论】:

    • 嗨@A.J。谢谢你的回复。这只能在一个设备上正常工作。如果我想在多个设备上运行相同的脚本,那么我需要做什么?
    • 您想在多台设备上运行相同的测试还是在多台设备上运行多个测试?无论哪种方式,您都需要硒网格
    • 我想在多台设备上运行相同的测试。
    • 嗨@A.J 我想在多个设备上运行相同的测试脚本
    • 您首先需要找到一种方法来多次执行相同的测试。通常人们使用 testNG 或 JUnit 来实现这一点。准备就绪后,您可以将测试指向 selenium hub,然后测试将运行。
    猜你喜欢
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多