2016年3月15日星期二

安排设置在Android Studio with testng



大家好,我希望你们都做得很好。我发布了一篇文章 使用Android Studio设置Appium Server。我觉得成千上万的人访问了这篇文章,发现它很有用。正如我在前一篇文章中解释了如何在我之前的帖子中使用JUnit测试框架,所以现在在此帖子中您将学习在Android Studio中使用Testng Framework。

视频 -
 
我要求您通过上一页浏览我的前一页,按照RECAP进行完全相同的步骤 -

  1. 下载 -
    1. Android Studio
    2. 安排 Jar文件
    3. 最新的Appium客户端库
  2. 安装Android Studio - 点击这里
  3. 打开Android Studio并创建一个新项目 - 如何创建Android项目?
4. 将Appium Jars添加到您的项目中 - 单击项目 - > click on app->复制lib中的所有jar。选择复制的罐子外 Selenium,Java Client和Junit Jar,然后右键单击它,然后单击 "Add as Library".

5.单击应用中的Build.gradle您将看到如下所添加的所有LIB。但是您需要添加以下给出的Testng特定lib -


 testCompile 'org.assertj:assertj-core:2.0.0'
    testCompile 'org.testng:testng:6.9.10'

Testng Gradle依赖
Testng Gradle依赖

6.通过在SRC中创建新的Java类来添加以下Testng测试用例>main


public class testng.SampleTestCase{

AppiumDriver driver;

@BeforeTest
    public void testCaseSetup()throws  Exception
    {

        DesiredCapabilities cap=new DesiredCapabilities();
        cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
        cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device");
        cap.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "4000");
        cap.setCapability(MobileCapabilityType.APP, "c://apks//seekbarsample.apk");
        cap.setCapability("noReset", true);
        driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);

    }

@Test
    public void testSeekBar()throws  Exception
    {
           //Locating seekbar using resource id
            WebElement seek_bar=driver.findElement(By.id("seek_bar"));
            // get start co-ordinate of seekbar
            int start=seek_bar.getLocation().getX();
            //Get width of seekbar
            int end=seek_bar.getSize().getWidth();
            //get location of seekbar vertically
            int y=seek_bar.getLocation().getY();

        // Select till which position you want to move the seekbar
        TouchAction action=new TouchAction(driver);

        //Move it will the end
        action.press(start,y).moveTo(end,y).release().perform();

        //Move it 40%
        int moveTo=(int)(end*0.4);
        action.press(start,y).moveTo(moveTo,y).release().perform();

        captureScreenShots("Seekbar");
    }
@AfterTest
    public void testCaseTearDown()
    {
        driver.quit();
    }
}

7.运行Testng测试用例
  • 单击Build Variant
  • 选择单元测试
  • 开始 具有特定端口的Appium Server“4444”点击这里
  • 连接设备,USB调试或启动仿真器。
  • 右键单击测试类,然后单击“运行”。
我希望本教程有所帮助,以防您有任何查询,请将其发布为评论。

27评论:

  1. 它说无法解析方法捕获扫描。这是一个用户定义的方法吗?请帮忙

    回复删除
    答案
    1. Yes it is user defined method. This post is to explain Test Suit structure using testNG framework. If you want to write code to capture screenshot then refer - http://qaautomated.blogspot.in/2016/03/how-to-take-screenshot-in-appium.html

      删除
    2. 关于您所在的错误,请从build.gradle中的拒绝中删除以下行
      testcompile.'junit:junit:4.12'

      删除
    3. 谢谢你的帖子,我是Speedo Savvy。我相信你在头上击中了钉子。我对你的博客印象深刻。它非常解释。你的文章为我们的文章增加了最好的知识 来自印度的Java在线培训。或学习通过 来自印度的Java在线培训 学生。

      删除
  2. 删除junit线路遇到此错误 -
    错误:GRADLE:任务执行失败':App:TransformClasseswithdexfordebug'.
    >com.android.build.api.transform.TransformException:com.android.ide.common.process.processException:org.grocessException:org.gradle.process.internal.execException:进程'command 'C:\ program files \ java \ jdk1.8.0_73 \ bin \ java.exe''完成非零退出值2

    回复删除
    答案
    1. 添加它 -
      多角形的真实

      在defecienconfig中
      {
      多角形的真实
      }

      删除
    2. 你好,
      我也得到了相同的错误:

      错误:GRADLE:任务执行失败':应用程序:TransformClasseswithjarmergingfordebug'.
      >com.android.build.api.transform.transformException:java.util.zip.zipException:重复条目:IO / appium / java_client / android / androiddeviceactionshortcuts.class

      删除
  3. 现在看到以下错误。我添加了testcompile'org.testng:testng:6.9.10' in build.gradle.
    错误:GRADLE:任务执行失败':App:Compiledebugjavawithjavac'.
    >汇编失败;有关详细信息,请参阅编译器错误输出。
    错误:(5,29)Gradle:错误:包org.tiestng.annotations不存在
    错误:(6,29)Gradle:错误:包org.tiestng.annotations不存在
    错误:(7,29)Gradle:错误:包org.testng.annotations不存在
    错误:(23,5)Gradle:错误:找不到符号类BeForeStest
    错误:(37,5)Gradle:错误:找不到符号类测试
    错误:(61,5)Gradle:错误:无法找到符号类之后

    回复删除
  4. 改变后已经同步了大师?同步是否已经成功了?一旦你这样做,它就会添加必要的进口,那么你会很好

    回复删除
  5. 是的,Gradle成功同步并添加了导入。我已经向您发送了一封有截图的电子邮件

    回复删除
  6. 嗨,我们配置Testng Android Studio,但我们尝试执行单个TestCase
    我们面临以下问题:
    org.testng.testngexception:org.xml.sax.saxparseexception; Linenumber:3;

    列数:44;属性"parallel" with value "none"必须具有列表中的值"虚假方法测试类实例".

    但是执行througt testng.xml工作正常,个人testcase无法正常工作

    回复删除
  7. 6.通过在SRC中创建新的Java类来添加以下Testng测试用例>main

    根据本教程的步骤6,我需要直接在主文件夹或主文件夹下直接创建Java类。善意。

    回复删除
    答案
    1. 您需要在SRC下创建Java类 - >main ->java

      删除
  8. 嗨Anuja,希望你做得很好。

    我陷入了代码中的第一行。我想用Appium使用Testng。但初始化jusiningCapabilities实例时出现错误。

    错误:无法解析符号致病

    谢谢。

    回复删除
    答案
    1. 你好, please check that your Appium Setup is successfully built and all the required libs are added in dependency section. Then your error will get resolved check this out http://www.yubo666.com/2016/01/setting-up-appium-with-android-studio.html

      问候,
      安努阿

      删除
    2. 谢谢安努阿。它是由于缺少硒jar文件。 Santosh.

      删除
    3. 我得到相同的错误。我遵循了博客中提到的相同的步骤来设置appium .can,你告诉哪个selenium jar文件缺失?

      删除
  9. 嗨Anuja!
    在build.gradle中:
    testinstrumentationrunner."android.support.test.runner.androidjunitrunner."

    但我想要测试。可能是此字符串需要重新恢复?

    回复删除
  10. 嗨Anuja.

    我是Android Studio的新手。我在博客中提到的那样创建了这个项目"Appium设置在Android Studio with testng"但面临以下错误。我添加了Testng依赖关系,也将Testng-6.9.9 jar文件复制到libs文件夹并添加到库中。你能帮我吗 :-)
    org.tiestng.testngexception:
    找不到类路径中的类:testngsampletestcase
    在org.tiestng.xml.xmlclass.loadClass(XMLClass.java:81)

    回复删除
  11. 我已经使用上述配置设置了我的项目,它会丢失错误而无法完成。

    错误:GRADLE:任务执行失败':应用程序:TransformClasseswithjarmergingfordebug'.
    >com.android.build.api.transform.transformException:java.util.zip.zipException:重复条目:ORG / OpenQA / Selenium / SearchContext.Class

    回复删除
  12. 嗨Anuja!

    我是新的Appium.please可以告诉我如何在Android Studio使用testng以及如何创建testng.xml文件来编写2个测试用例。请建议我

    回复删除
  13. 如何解决此错误:
    错误:任务执行失败':应用程序:TransformClasseswithjarmergingfordebug'.
    >com.android.build.api.transform.transformException:java.util.zip.zipException:重复条目:ORG / OpenQA / Selenium / SearchContext.Class

    回复删除
  14. 如何解决此错误:

    错误:GRADLE:任务执行失败':应用程序:TransformClasseswithjarmergingfordebug'.
    >com.android.build.api.transform.transformException:java.util.zip.zipException:重复条目:ORG / OpenQA / Selenium / SearchContext.Class

    回复删除
    答案
    1. 你找到了这个错误的解决方案吗?

      删除
    2. 解决了这个错误。
      我用独立服务器添加了Selenium Jars(以下一个以上的配置文件!),因为它是关于复制的东西,我评论了所有卷轴的卷轴,只保留了Build.Gradle中的独立服务器。这解决了我的问题。

      删除