我在哪里可以找到使用winappdriver测试带有自定义功能区元素的Excel插件项目的好例子。
到目前为止,我发现了一个异常:
System.InvalidOperationException 使用给定的搜索参数无法在页面上找到元素。
我正在使用最新的winappdriver
代码:
private const string ExcelAppId = @"C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE";
private const string WindowsApplicationDriverUrl = "http://127.0.0.1:4723";
DesiredCapabilities appCapabilities = new DesiredCapabilities();
appCapabilities.SetCapability("app", ExcelAppId);
appCapabilities.SetCapability("deviceName", "WindowsPC");
appCapabilities.SetCapability("platformName", "Windows");
session = new WindowsDriver<WindowsElement>(new Uri(WindowsApplicationDriverUrl), appCapabilities);
session.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
session.FindElementByName("Blank workbook").Click();
答案 0 :(得分:1)
您需要通过“管理Nuget软件包” 安装 Appium.WebDriver,Selenium.support,Selenium.webDriver 。 您可以使用以下appium代码:
http://buymeabusiness.local/nova-api/users/count?search=&filters=W10%3D&orderBy=&perPage=25&trashed=&page=1&relationshipType=
尝试此代码并在遇到任何问题时发表评论。
答案 1 :(得分:0)
我更喜欢使用:session.Manage()。Timeouts()。ImplicitWait = TimeSpan.FromSeconds(5);而不是Thread.sleep(5)。
答案 2 :(得分:0)
开始测试时是否打开excel?
如果按姓名不起作用,有时也不会对我有用,你可以使用accessibilityId
session.FindElementByAccessibilityId("AIOStartDocument").Click();
或使用键盘shorcut打开空白工作簿,如下所示:
session.Keyboard.SendKeys(Keys.Alt + "f" + "l" + Keys.Alt);
答案 3 :(得分:0)
我正在使用WinAppDriver对Excel加载项进行自动化测试。 就我而言,我没有启动屏幕就启动了Excel。提供/ e作为应用程序参数即可实现。
session.SetCapability(“ appArguments”,“ / e”);
从现在开始,您将可以按名称找到“文件”菜单和“新建”菜单,然后单击它们。 添加几秒钟的显式等待,然后以相同的方式继续查找“空白工作簿” WindowsElement。
我希望这能回答您的问题,如果需要更多帮助,请在此处发布。 我已经尝试使用WinAppDriver几个月了,还准备了有关该主题的Udemy课程,该课程几乎准备发布。这是一个有趣的工具包。