首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Appium Java TestNG Framework>Launch Appium通过Mac空点异常与appium main.js文件编程

Appium Java TestNG Framework>Launch Appium通过Mac空点异常与appium main.js文件编程
EN

Stack Overflow用户
提问于 2018-08-23 12:17:07
回答 3查看 2.6K关注 0票数 0

Mac图书空气

Java 1.8

Appium桌面版本1.8.1

嗨伙计们,

我正在构建一个TestNG框架,并且我希望以编程方式启动我的appium服务器,以便进行测试。所以我决定做的是创建一个java测试类来为我调用appium,我认为我已经对它进行了编码,但是当我运行它时只是为了检查。有一个'null point exception'

1.我做错什么了?

2.如何解决这个问题?

下面是以编程方式发布appium的代码:

代码语言:javascript
复制
package aappiumLaunchServer;

import java.io.File;

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

public class LaunchAppium {

    private static AppiumServiceBuilder service;

    public static void main(String[] args) {
        //text
        stopAppium();
        startAppium();
        stopAppium();
    }

    public static void startAppium() {
        System.out.println("Start Appium Server");
        service = new AppiumServiceBuilder().usingDriverExecutable(new File("/usr/local/bin/node"))
        .withAppiumJS(new File ("/Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/main.js "));
        service.build().start();
        System.out.println("You can now use Appium Server");
    }

    public static void stopAppium(){
        System.out.println("Appium Server is shutting down....");
        try {
            service.build().stop();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("Your current appium session is terminated... ");
        }
        System.out.println(" Appium Server has shut down. Thank you for using Appium Server");
    }

}

这是来自eclipse的消息

代码语言:javascript
复制
appium Server is shutting down....
java.lang.NullPointerExceptionYour current appium session is terminated... 
 Appium Server has shut down. Thank you for using Appium Server
Start Appium Server

    at aappiumLaunchServer.LaunchAppium.stopAppium(LaunchAppium.java:44)
    at aappiumLaunchServer.LaunchAppium.main(LaunchAppium.java:16)
Exception in thread "main" io.appium.java_client.service.local.InvalidServerInstanceException: Invalid server instance exception has occured: The invalid appium node /Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/main.js  has been defined
    at io.appium.java_client.service.local.AppiumServiceBuilder.validateNodeStructure(AppiumServiceBuilder.java:102)
    at io.appium.java_client.service.local.AppiumServiceBuilder.checkAppiumJS(AppiumServiceBuilder.java:294)
    at io.appium.java_client.service.local.AppiumServiceBuilder.createArgs(AppiumServiceBuilder.java:389)
    at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:342)
    at aappiumLaunchServer.LaunchAppium.startAppium(LaunchAppium.java:29)
    at aappiumLaunchServer.LaunchAppium.main(LaunchAppium.java:17)
Caused by: java.io.IOException: The node /Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/main.js doesn't exist
    at io.appium.java_client.service.local.AppiumServiceBuilder.validateNodeStructure(AppiumServiceBuilder.java:104)
    ... 5 more
EN

回答 3

Stack Overflow用户

发布于 2018-08-23 12:33:46

仅在startAppium方法上使用调试模式,尝试创建一个文件实例

代码语言:javascript
复制
new File ("/Applications/Appium.app/Contents/Resources/app/node_modules/appium/build/lib/main.js "

这可能会显示它找不到文件。

票数 1
EN

Stack Overflow用户

发布于 2018-08-24 17:04:57

似乎您正在尝试使用来自Appium.app的JS main.js文件,而不是使用节点安装appium,您应该可以在

System.getenv(APPIUM_HOME)+"/node_modules/appium/build/lib/main.js“= Appium_MAIN_JS (在bash_profile中定义APPIUM_HOME )您的代码可能无法访问Appium.app (我猜想它在应用程序文件夹中)

然后可以调用.buildService(新AppiumServiceBuilder().withAppiumJS(新文件(Appium_MAIN_JS)

票数 0
EN

Stack Overflow用户

发布于 2020-11-13 10:25:16

如果安装了NodeJS for Windows,\AppData\漫游\npm为空,则应打开PowerShell并运行命令:npm安装-g appium

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51985638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档