如何找到Appium运行的当前上下文?

时间:2018-05-29 11:32:26

标签: c# selenium-webdriver appium appium-android

我正在使用Appium自动化混合应用程序。 下面的代码可以在Java中用来查找设置适当的上下文。

String context = driver.getContext();

C#中的等效代码是什么?

2 个答案:

答案 0 :(得分:0)

如果您使用IDE,您应该能够看到驱动程序对象可用的所有命令。

在IDE之外查看所有已定义命令的地方是:https://github.com/appium/appium-dotnet-driver/blob/master/appium-dotnet-driver/Appium/AppiumDriverCommand.cs#L179

driver.GetContext()

答案 1 :(得分:0)

在C#中,没有像Java这样的名为getContext()的方法,而是可以使用一个名为Context的属性来获取当前上下文并通过将上下文值(要切换的值)分配给该属性来切换到另一个上下文。

    public ReadOnlyCollection<string> Contexts { get; }
    public string Context { get; set; }

例如:如果要获取当前上下文:

string s = driver.Context;

如果要切换到webView,可以尝试

driver.Context="WEBVIEW_<PackageName>";

如果需要获取当前视图中的所有可用上下文,请使用“ Contexts”属性

public List<string> GetContexts()
    {
        List<string> AllContexts= new List<string>();
        foreach (var context in (driver.Contexts))
        {
            AllContexts.Add(context);
        }
        return AllContexts;
    }