如何从C#以编程方式以特权提升启动Appium本地服务

时间:2019-02-05 15:42:54

标签: c# android automated-tests appium appium-desktop

我正在使用以下C#代码启动最新的Appium Local服务器:

    var service = AppiumLocalService.BuildDefaultService();
    service.Start();

这对我来说效果很好,直到在测试运行中需要将.apk文件安装到与Appium一起运行的设备上时为止。我传递给AndroidDriver<AndrioidElement>(uri, caps)构造函数的功能是:

    ("automationName", "UiAutomator2")
    ("platformName", "android")
    ("platformVersion", "8.0")
    ("app", @"c:\test\testapp.apk")

这时,我发现.apk文件的自动签名失败,除非Appium服务器以提升的(管理员)特权运行。

但是,当我通过AppiumLocalService.BuildDefaultService()以编程方式启动Appium服务器时,启动的Appium节点服务器实例未以任何提升的特权运行,因此签名失败。我如何像这样以编程方式启动Appium服务器,但要提升其特权才能进行签名?

0 个答案:

没有答案