首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Winappdriver测试excel

用Winappdriver测试excel
EN

Stack Overflow用户
提问于 2017-10-31 19:35:40
回答 4查看 1.6K关注 0票数 1

在哪里可以找到使用winappdriver测试带有自定义ribbon元素的excel插件项目的好例子。

到目前为止,我抛出了一个异常:

System.InvalidOperationException使用给定的搜索参数无法在页面上找到元素。

我正在使用最新的winappdriver

代码:

代码语言:javascript
复制
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();
EN

回答 4

Stack Overflow用户

发布于 2019-08-30 22:02:19

我正在使用WinAppDriver对一个Excel插件进行自动化测试。在我的例子中,我在没有闪屏的情况下启动了Excel。提供/e作为应用程序参数来实现它。

session.SetCapability("appArguments","/e");

从现在开始,您将能够按名称找到“文件”菜单和“新建”菜单并单击它们。添加几秒钟的显式等待,然后以同样的方式继续查找“空白工作簿”WindowsElement。

我希望这能回答你的问题,如果需要更多的帮助,请在这里发帖。到目前为止,我已经对WinAppDriver进行了几个月的实验,还准备了一个关于这个主题的Udemy课程,该课程即将发布。这是一个有趣的工具包。

票数 1
EN

Stack Overflow用户

发布于 2020-03-03 15:02:15

您需要从"Manage Nuget packages"安装Appium.WebDriver,Selenium.support,Selenium.webDriver您可以使用代码,如下所示:

代码语言:javascript
复制
using OpenQA.Selenium;
using OpenQA.Selenium.Appium;
using OpenQA.Selenium.Appium.Windows;

class Excel
        {
            public void ExcelCase() { 
        WindowsDriver<WindowsElement> driver;
            AppiumOptions desiredcap = new AppiumOptions();
            desiredcap.AddAdditionalCapability("app", @"C:\Program Files\Microsoft Office\Office16\EXCEL.EXE");
                driver = new WindowsDriver<WindowsElement>(new Uri("http://127.0.0.1:4723"), desiredcap);
 driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);

                if (driver == null)
                {
                    Console.WriteLine("App not running");
                    return;
                }
    }}

如果您遇到任何问题,请尝试此代码并进行评论。

票数 1
EN

Stack Overflow用户

发布于 2017-10-31 22:25:47

我更喜欢使用: session.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);而不是Thread.sleep(5)。

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

https://stackoverflow.com/questions/47034416

复制
相关文章

相似问题

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