小编Ban*_*axx的帖子

如何使用Jenkins安排C#单元测试?

在过去的6个月中,我们的测试团队一直使用selenium webdriver来测试我们基于Web的产品.我们取得了巨大的成功,并继续每天使用它.我们使用visual studio,因为我们是一个.net商店来编写我们的c#单元测试.我们不对.net使用任何其他测试框架.直到最近,我们还通过visual studio(2013)中的测试浏览器窗口手动运行我们的自动化测试,检查结果,然后将它们记录到电子表格中.我知道这不太理想,但是我们没有那么多测试,所以到目前为止这对我们来说很合适.但是,我们需要编写和维护的自动化测试数量将在未来几个月内迅速增加.

我最近一直在玩创建批处理文件来调用vstest.console.exe及其各种命令,然后将这些日志添加到服务器.不理想.我知道我还可以做更多,特别是集成某种CI服务器.

我们已经在使用团队基础服务器,并且拥有各种虚拟服务器(所有运行的Windows 8.1),所以我考虑利用这一点,所以我开始研究Jenkins.麻烦的是,我没有找到关于Jenkinks和c#的更多信息.它看起来主要面向java设置.我错过了什么吗?我发现的一些小信息严重过时,对我不起作用.

我设置它并安装vstest.console.exe插件,但无法进行简单的测试.一个不在2012年之前的当前分步指南会很棒:)你们认为Jenkins是采用c#和.net框架的方法吗?在c#社区中是否使用了"标准"?我听说过巡航控制,我要检查一下.这是一个可行的选择吗?更容易使用.net?

这基本上是我们需要的:

  1. 继续在visual studio中编写我们的测试并创建c#单元测试
  2. 在远程/本地服务器上安排一系列单元测试
  3. 写出结果/日志文件 - 失败/传递的好报告功能会很棒
  4. 将该文件通过电子邮件发送给qa/dev团队

我希望你们中的一些人曾经走过这条路,可以分享一些见解

c# selenium unit-testing jenkins selenium-webdriver

11
推荐指数
1
解决办法
2万
查看次数

使用selenium webdriver自动点击chrome:// extensions页面上的按钮

我正在尝试编写一个自动化测试,它将自动更新Google Chrome扩展程序.我不知道另一种自动执行此操作的方法,所以这是我目前正在尝试做的事情:

  1. 打开chrome扩展页面(据我所知,这只是一个html页面,除非我遗漏了什么).

  2. 单击"更新扩展"按钮

以下是我尝试打开Chrome扩展程序页面的内容:

IwebElement UpdateButton = driver.findelement(By.Id("update-extensions-now"));
UpdateButton.Click();
Run Code Online (Sandbox Code Playgroud)

由于某种原因,按钮单击未注册.我尝试了一些其他定位器,如CSS路径和Xpath,但它们也不起作用.此外,当我调试此测试时,它通过正常,所以我知道这不是我的任何定位器的问题.我(作为测试)尝试自动点击此页面上的其他元素,这是同样的问题.我无法处理chrome://扩展页面上的任何元素.

有没有人遇到这个或有任何想法发生了什么?

selenium webdriver selenium-chromedriver selenium-webdriver

5
推荐指数
1
解决办法
3331
查看次数

Selenium webdriver(c#) - 根据属性查找按钮

我试图根据属性获取下面按钮的句柄gl-command.我知道我可以使用Cssselectorby locator 找到按钮,但在这种情况下我不想这样做.

我应该指出,这只是AUT中众多按钮中的一个: <google-componentbutton size="32"></google-componentbutton>

<div class="gl-component-buttons"><gl-component-buttons id="gl-component-button-set-bottom">
  <google-componentbutton size="32">
    <button class="google-componentbutton glmdl-button glmdl-js-button glmdl-js-ripple-effect google-image gl-transaction-image" style="height: 32px; widgl: 32px; background-size: 24px 24px; background-position: 4px 4px;" gl-tooltip-id="google_component_transaction" gl-tooltip="transaction" data-upgraded=",MaterialButton,MaterialRipple" gl-command="transaction">  
      <span class="glmdl-button__ripple-container">
        <span class="glmdl-ripple"></span>
      </span>
    </button>
  </google-componentbutton>
Run Code Online (Sandbox Code Playgroud)

c# selenium webdriver selenium-webdriver

4
推荐指数
2
解决办法
8204
查看次数

selenium webdriver(c#)-循环访问选择菜单的最佳方法-然后验证元素样式是否更新?

我想遍历选择菜单中的所有可用选项,依次单击每个选项,然后确认单击每个选项将用宽度和高度值更新特定的元素。

这是选择菜单的代码:

 <span id="SizeSelectContainer" class="dropdownButton" style="min-width: 100px; max-width: 120px;">
            <select id="SizeSelect" title="Zoom" tabindex="23" data-l10n-id="zoom" style="min-width: 126px;">
                <option id="SizeAutoOption" title="" value="auto" selected="selected" data-l10n-id="pagesizeauto">Automatic Size</option>
                <option id="SizeActualOption" title="" value="page-size-actual" data-l10n-id="pagesizeactual">Actual Size</option>
                <option title="" value="0.1">10</option>
                <option title="" value="0.5">50</option>
                <option title="" value="1">100</option>                         
            </select>
        </span>
Run Code Online (Sandbox Code Playgroud)

当我单击每个选项时,位于页面其他位置的另一个元素内的值将更改(请参见下文)-选中后,除下拉选项(默认选项)外,没有任何“选择”属性应用于任何下拉选项无法基于“选定”属性断言选择。

我要做的事情(我尚未在示例中进行编码)是,当选择了特定的选择选项时,另一个页面元素(如下所示)将更新以容纳新的宽度和高度值:

<div id="Container" class="page" style="width: 547px; height: 865px; data-loaded="true">
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止提出的-请注意,我还没有断言

        IWebElement AutoSize = UtilityClass.driver.FindElement(By.Id("SizeAutoOption"));
        IWebElement ActualSize = UtilityClass.driver.FindElement(By.Id("SizeActualOption"));

        IWebElement Ten = UtilityClass.driver.FindElement(By.XPath("//*[@id='SizeSelect']/option[3]"));
        IWebElement Fifty = UtilityClass.driver.FindElement(By.XPath("//*[@id='SizeSelect']/option[4]"));
        IWebElement Hundred = UtilityClass.driver.FindElement(By.XPath("//*[@id='SizeSelect']/option[5]"));  

        Object[] SelectElements = new Object[] { AutoSize, ActualSize, Ten, …
Run Code Online (Sandbox Code Playgroud)

c# selenium webdriver selenium-webdriver

1
推荐指数
1
解决办法
5440
查看次数

Webdriver(c#) - 大概是通过文本找到按钮

我正忙着抓住一个按钮.是否有人能够指出我如何获得按钮处理的正确方向并使用xpath或css选择器单击它?这是代码:

 <button class="trans-button mtrn-dialog-button" title="" value="">OK</button>
Run Code Online (Sandbox Code Playgroud)

我试图通过文字来获取它.它似乎工作正常(因为它可以找到元素),但它似乎不想将click事件提供给按钮

selenium xpath webdriver css-selectors selenium-webdriver

1
推荐指数
1
解决办法
5042
查看次数