Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何让winappdriver查找应用程序文件?_C#_Automated Tests_Winappdriver - Fatal编程技术网

C# 如何让winappdriver查找应用程序文件?

C# 如何让winappdriver查找应用程序文件?,c#,automated-tests,winappdriver,C#,Automated Tests,Winappdriver,我是WinAppDriver新手,我正在尝试创建一个自动化测试 我有一个应用程序,它有一个theme.xml文件,其中包含多个主题的主题信息(背景颜色、字体颜色等)。此文件位于包含app exe的bin文件夹中:exe位于\bin\app.exe中。主题文件位于\bin\Themes\Themes.xml中 我可以让应用程序从我的第一个测试开始,但在加载时,它尝试访问Themes.xml文件,但它找错了位置:试图在winappdriver文件夹中找到它—“C:\Program Files(x86

我是WinAppDriver新手,我正在尝试创建一个自动化测试

我有一个应用程序,它有一个theme.xml文件,其中包含多个主题的主题信息(背景颜色、字体颜色等)。此文件位于包含app exe的bin文件夹中:exe位于\bin\app.exe中。主题文件位于\bin\Themes\Themes.xml中

我可以让应用程序从我的第一个测试开始,但在加载时,它尝试访问Themes.xml文件,但它找错了位置:试图在winappdriver文件夹中找到它—“C:\Program Files(x86)\Windows Application Driver\Themes\Themes.xml”

如何使其在应用所在的bin文件夹中显示

以下是一段代码片段:

        private const string CSWAppId = @"C:\Applications\CSW\CSW2\CSWClient\bin\x86\Release\net48\CSWClient.exe";
        public WindowsDriver<WindowsElement> Session { get; set; }

        public CSWSession()
            {
            DesiredCapabilities appCapabilities = new DesiredCapabilities();
            appCapabilities.SetCapability( "app", CSWAppId );

            this.Session = new WindowsDriver<WindowsElement>( new Uri( WindowsApplicationDriverUrl ), appCapabilities );```
private const string CSWAppId=@“C:\Applications\CSW\CSW2\CSWClient\bin\x86\Release\net48\CSWClient.exe”;
公共WindowsDriver会话{get;set;}
公营部门()
{
DesiredCapabilities appCapabilities=新DesiredCapabilities();
SetCapability(“app”,CSWAppId);
this.Session=新的WindowsDriver(新Uri(WindowsApplicationDriverUrl)、appCapabilities)```

对于安装程序,我们需要找到它的AUMID。对于可移植程序,我们有另一种连接方式。在Win10中,所有运行的GUI程序,其在可视化树上的最终父级是桌面,因此我们需要先连接到桌面,然后在桌面中查找我们启动的程序。

//设置桌面驱动程序
var desktopCapabilities=新的DesiredCapabilities();
var desktopCapabilities.SetCapability(“应用程序”、“根目录”);
var desktopDriver=新的WindowsDriver(新Uri(http://127.0.0.1:4723),桌面功能);
//查找您的应用程序窗口。“CSWClient”是进程名称,您可以从TaskManager中找到它
var clientWindow=_desktopDriver.FindElementByName(“CSWClient”);
//连接到你的应用程序
var clientWindowHandle=earthWindow.GetAttribute(“NativeWindowHandle”);
clientWindowHandle=(int.Parse(earthWindowHandle)).ToString(“x”);
var clientCapabilitie=新的DesiredCapabilities();
clientCapabilitie.SetCapability(“appTopLevelWindow”,earthWindowHandle);
//设置应用程序驱动程序
var clientDriver=新的WindowsDriver(新Uri(http://127.0.0.1:4723),客户能力);