2016年1月31日星期日

如何使用Java代码启动Appium Server?



 我们已经看到了如何手动启动和停止Appium Server,现在在这篇文章中我们将了解如何以编程方式启动和停止Appium Server。 Appium提供API,以便您可以在运行测试用例或测试套装之前启动服务器,然后执行执行后,您可以停止服务器。

安装Appium Appium后,文件Node.exe和Appium.js将存在您的系统。您需要以编程方式启动Apium Server的这两个文件的路径。然后您可以复制并粘贴以下代码。在@beforeclass或@beforetest调用appiumstart()。

需要jar文件 Commons-Validator-1.4.1.jarjava-client-3.2.0.jar 您可以从中下载 这里.

视频 -



关于代码的解释 -

ApiutimdriverlocalService类验证了API启动和停止服务器,因此我们在下面的代码中使用了这一点.Usingport()方法用于提供启动服务器的端口号。我们将我们的node.exe路径传递给method driverlocation()和appium.js path到withappiumjs()方法。然后启动()和stop()方法用于启动和停止服务器。我们需要使用getURL()方法来获取并传递URL,同时设置所需的功能。




import java.io.File;

import io.appium.java_client.service.local.AppiumDriverLocalService;
import io.appium.java_client.service.local.AppiumServiceBuilder;

public class 安排ServerStartStop {

    static String Appium_Node_Path="C:\\Program Files (x86)\\Appium\\node.exe";
    static String Appium_JS_Path="C:\\Program Files (x86)\\Appium\\node_modules\\appium\\bin\\appium.js";
    static AppiumDriverLocalService service;
    static String service_url;

    public static void 应用程序iumStart() throws Exception{
        service = AppiumDriverLocalService.buildService(new AppiumServiceBuilder().
                usingPort(2856).usingDriverExecutable(new File(安排_Node_Path)).
                withAppiumJS(new File(安排_JS_Path)));
        service.start();
        Thread.sleep(25000);
        service_url = service.getUrl().toString();
    }

    public static void 应用程序iumStop() throws Exception{
        service.stop();

    }
}

注意设置所需的功能时使用如下所示的service_url-

安排Driver driver= new 安卓Driver(new URL(service_url),cap);

如果您发现这篇文章有用确实与朋友分享,如果您有一些问题或建议,请在下面的评论部分中与我共享。请遵循QA自动进行最新更新。


 

25评论:

  1. 嗨Anuja。谢谢你的榜样。但是我正面临着使用代码的问题,并使用maven命令运行测试。
    "Couldn'T启动Appium Retth互联侦听器。请求的端口已在使用中。请确保那里'没有其他Appium运行的实例。"

    如果您知道修复,请帮助我。提前致谢

    回复删除
    答案
    1. 这意味着您的Appium Server实例是具有相同端口的runnig。您可以尝试更改端口号。使更改在于代码以下。
      service = appiumdriverlocalservice.buildservice(new appiumservicebuilder()。
      使用port(2856).usingdriverexecutable(新文件(appium_node_path))。

      删除
    2. 伟大的文章 基于Android的项目

      钦奈的Java培训

      钦奈的项目中心

      钦奈的Java培训

      CSE项目

      角度训练涵盖了各种主题,包括组件,角度指令,角度服务,管道,安全基础,路由和角度可编程性。新的角度训练将奠定基础,您需要专注于单页应用程序开发人员。 角训练

      删除
  2. 我通过节点开始了Appium ......下面是来自Jenkins ..

    命令行
    / usr / local / bin / node / pplications/appium.app/contents/resources/node_modules/appium/build/lib/main.js --address 0.0.0 - port 4723 / WD / Hub

    如何开始和制作测试运行......截至现在它刚刚开始Appium并没有做任何事情:(


    由用户匿名开始
    [EnvInject] - 加载节点环境变量。
    在工作区/用户/共享/ jenkins / home / home / homes / mmlocalproject / workspace /​
    [​] $ / bin / sh -xe / sers/shared/jenkins/tmp/hudson6798240980173597906.sh
    + CD /用户/共享/ Jenkins / Home / Jobs / MMLocalProject / Workspace /
    + chmod g + w + x appium.sh
    + sh appium.sh.
    [Appium]欢迎来到Appium V1.5.3
    [Appium]非默认服务器args:
    [Appium]应用程序:'/users/shared/jenkins/home/jobs/mmlocalproject/workspace/src/t/result/measingmaster.app.'
    [Appium]弃用服务器args:
    [Appium] - App => - default能力'{"app":"/users/shared/jenkins/home/jobs/mmlocalproject/workspace/src/t/result/measingmaster.app."}'
    [Appium]默认功能,除非所需的功能覆盖,否则将添加到每个请求中:
    [Appium]应用程序:'/users/shared/jenkins/home/jobs/mmlocalproject/workspace/src/t/result/measingmaster.app.'
    [Appium] Appium REST HTTP接口侦听器启动0.0.0.0:4723

    回复删除
  3. 在解决少数库中解决依赖项后,就像魅力一样。非常感谢。

    回复删除
  4. 我已经使用NPM安装了Appium 1.6,但以编程方式仍然是开启Appium 1.4 ..我可以解决它

    回复删除
  5. 我可以使用这个Appium基于Web的应用程序吗?如何?

    回复删除
    答案
    1. Hi , you can use appium to test mobile application having webviews plus you can test web applications in mobile browser check out my appium tutorial for How to Test Web Views using Appium (http://www.yubo666.com/2016/02/testing-web-views-with-appium.html)

      删除
  6. 嗨Anuja,
    请取悦您对麦斯卡斯的同一教程?
    先感谢您。

    回复删除
  7. 由于新的Appium Server Appium V1.7.0,发生了略微的变化

    **无需指定Android JS路径只有节点JS就足够了。

    代码如下。

    @BeforeTest
    公共void appiumstart()抛出异常
    {
    service = appiumdriverlocalservice.buildservice(new appiumservicebuilder()
    .USINGDRIVERESECUTABLE(新文件(Appium_Node_Path))
    .usingPort(4723));
    service.start();
    Thread.sleep(25000);
    System.out.println("----服务开始-----");
    service_url = service.getURL()。ToString();

    jainhandcapability = lausencapabilities.android();
    能力.apapability(mobilecapabilitytype.browser_name,browsertyme.chrome);
    能力。安全性(MobileCapabilityType.platform,platform.android);
    能力.SetCapability(MobileCapabilityType.platform_name,"Android");
    能力.SetCapability(MobileCapabilityType.device_name,"4d00a95f4fde3117");
    能力.SetCapability(MobileCapabilityType.version, "6.0.1");
    Driver = New Androiddriver(新URL(service_url),功能);
    }

    回复删除
  8. 是的这个网站非常有用.....我在浏览到这个网站之前,我正在努力努力安装Appium。

    回复删除
  9. 导入{IPCMAIN,BrowserWindow,菜单}'electron';
    ^^^^^^^
    SyntaxError:意外令牌导入
    在Createscript(VM.JS:56:10)
    在object.runinthiscontext(vm.js:97:10)
    在module._compile(module.js:542:28)
    在object.module._extensions..M(module.js:579:10)
    在module.load(module.js:487:32)
    在Trymoduleload(Module.js:446:12)
    函数.module._load(module.js:438:3)
    在module.runmain(module.js:604:10)
    在RUN(Bootstrap_node.js:390:7)
    启动(Bootstrap_node.js:150:9)
    这是我在编译代码时得到的错误......你能帮助我解决它吗?

    回复删除
  10. 惊人的&伟大的信息博客,它为像我这样的开发人员提供了非常有用的实用信息。除了威胁是否建立了最好 来自印度的Java在线培训 。或者学习通过在线培训模式 Hibernate在线培训 。如今,冬眠ORM在各种垂直行业上有很多就业机会。或学习通过 来自印度的JavaScript在线培训。如今甚至JavaScript在各种垂直行业都有大量的就业机会。

    回复删除
  11. 嗯,似乎你的网站吃了我的第一个评论(这是非常长的)所以我想我’我只是把它归结为我写的,我说的话’彻底享受你的博客。我以及一位有抱负的博客作家,但我’虽然整个事情仍然是新的。你有给菜鸟博客作家的建议吗?一世’d appreciate it.
    班加罗尔的高级AWS培训|班加罗尔最佳亚马逊网络服务培训学院
    浦那的高级AWS培训学院|浦那最好的亚马逊网络服务培训学院
    Advanced AWS在线培训学院在印度|最佳在线AWS认证课程在印度
    班加罗尔的AWS培训|班加罗尔最好的AWS培训

    回复删除
  12. 哇它真的很棒,因此非常有用,了解许多概念并帮助我很有用。它真的很好地解释得很好,我有更多信息来自博客。

    Velachery的RPA培训| 塔巴姆的RPA培训 |Sholinganallur的RPA培训 | Annanagar的RPA培训| Kalyannagar的RPA培训

    回复删除
  13. 你的良好知识和善意与所有作品都非常有用。我不’如果我没有遇到这样的一步,我知道我会做些什么。
    最佳Devops在线培训
    在线Devops认证课程 - 摇滚板

    回复删除
  14. 访问您的网站是惊人和精彩的。感谢分享这些信息,这对我来说很有用......
    浦那的Python课程
    钦奈蟒蛇课程研究所
    班加罗尔的Python培训学院

    回复删除
  15. 从Excelr参加班加罗尔的Python培训。班加罗尔课程的实用Python培训与经验丰富的教职员工的放置支持。 Excelr在班加罗尔提供Python培训。
    班加罗尔的Python培训

    回复删除
  16. 我正在寻找,我喜欢发表评论 Python课程在浦那那"你的帖子的内容很棒" Great work!

    回复删除
  17. 我真的很享受简单地阅读所有博客。只是想告诉你,你有像我一样欣赏你的工作的人。绝对是一个很棒的帖子。向你致敬!您提供的信息非常有用。
    钦奈培训 | Ananagar的AWS培训 | aws training in omr | 帕尔尔的训练 | 在塔巴姆的AWS培训 | 武器训练在维拉莫里

    回复删除