使用appium节点服务器

时间:2017-12-13 01:17:50

标签: android node.js testing appium-android

我在NODE.JS中创建了一个appium服务器。我正在努力使appium测试运行模拟器并安装apk。无法在网上找到任何具有如何使用节点服务器进行操作的示例的特定示例。大多数示例都是桌面安装的appium服务器。我需要一些如何做到这一点的指导方针。为了进一步细分,我想使用appium节点服务器执行以下操作(不对应应用程序源代码中的任何测试用例)

  1. 启动模拟器,如果可以在真实设备上执行,则启动模拟器
  2. 在模拟器/设备上安装APK
  3. 触发在模拟器/设备上启动应用程序的意图。 Intent还包含数据包
  4. 点击应用内的按钮。

1 个答案:

答案 0 :(得分:0)

  1. 启动终端中的appium服务器

    appium

  2. 在您的终端上输出如下所示的上述命令

  3. enter image description here

    1. 示例代码:

      public class AppTest {

      AppiumDriver driver;
      
      MobileElement appTitle;
      
      @Before
      public void setup() throws MalformedURLException {
          DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
          desiredCapabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
          desiredCapabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "7.0");
          desiredCapabilities.setCapability(MobileCapabilityType.NO_RESET, true);
          desiredCapabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Moto");
          desiredCapabilities.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, "com.android.vending");
          desiredCapabilities.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, "com.google.android.finsky.activities.MainActivity");
          driver = new AndroidDriver(new URL("http://0.0.0.0:4723/wd/hub"), desiredCapabilities);
      }
      
      @Test
      public void testGooglePlayApp() throws InterruptedException {
          String appName = "Amazon Now - Grocery Shopping";
      
          //How to scroll to specific text
          MobileElement scrollToText = (MobileElement) driver.findElement(MobileBy.AndroidUIAutomator("new UiScrollable(new UiSelector()).scrollIntoView(new UiSelector().text(\"" + appName + "\"));"));
          scrollToText.click();
      
          // Verifying the app detail page
          appTitle = (MobileElement) driver.findElementById("com.android.vending:id/title_title");
      
          Assert.assertTrue(appName.equals(appTitle.getText().trim()));
      
          driver.navigate().back();
      
          //Clicking the search bar icon
      
          MobileElement scrollToElement = (MobileElement) driver.findElement(MobileBy.AndroidUIAutomator("new UiScrollable(new UiSelector()).scrollIntoView(new UiSelector().description(\"Search\"));"));
          scrollToElement.click();
      
      
          MobileElement editText = (MobileElement) driver.findElementById("com.android.vending:id/search_box_text_input");
      
          editText.sendKeys(appName);
      
          Thread.sleep(1000);
      
          List<MobileElement> listOfSuggestedResults = driver.findElementsById("com.android.vending:id/suggest_text");
      
          for (MobileElement element : listOfSuggestedResults) {
              if (appName.equals(element.getText().trim())) {
                  element.click();
                  break;
              }
          }
      
          appTitle = (MobileElement) driver.findElementById("com.android.vending:id/title_title");
      
          Assert.assertTrue(appName.equals(appTitle.getText().trim()));
      
      }
      
      @After
      public void tearDown() {
          if (driver != null) {
              driver.quit();
          }
      }
      

      }

    2. github中的示例代码:https://github.com/tech-tock-tech/apptest

      希望以上将有所帮助,如果您仍然面临问题,请查看以下视频链接 -

      https://www.youtube.com/watch?v=jP2NAY8ylp8