在过去的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?
这基本上是我们需要的:
我希望你们中的一些人曾经走过这条路,可以分享一些见解
我正在尝试编写一个自动化测试,它将自动更新Google Chrome扩展程序.我不知道另一种自动执行此操作的方法,所以这是我目前正在尝试做的事情:
打开chrome扩展页面(据我所知,这只是一个html页面,除非我遗漏了什么).
单击"更新扩展"按钮
以下是我尝试打开Chrome扩展程序页面的内容:
IwebElement UpdateButton = driver.findelement(By.Id("update-extensions-now"));
UpdateButton.Click();
Run Code Online (Sandbox Code Playgroud)
由于某种原因,按钮单击未注册.我尝试了一些其他定位器,如CSS路径和Xpath,但它们也不起作用.此外,当我调试此测试时,它通过正常,所以我知道这不是我的任何定位器的问题.我(作为测试)尝试自动点击此页面上的其他元素,这是同样的问题.我无法处理chrome://扩展页面上的任何元素.
有没有人遇到这个或有任何想法发生了什么?
我试图根据属性获取下面按钮的句柄gl-command
.我知道我可以使用Cssselector
by 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) 我想遍历选择菜单中的所有可用选项,依次单击每个选项,然后确认单击每个选项将用宽度和高度值更新特定的元素。
这是选择菜单的代码:
<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) 我正忙着抓住一个按钮.是否有人能够指出我如何获得按钮处理的正确方向并使用xpath或css选择器单击它?这是代码:
<button class="trans-button mtrn-dialog-button" title="" value="">OK</button>
Run Code Online (Sandbox Code Playgroud)
我试图通过文字来获取它.它似乎工作正常(因为它可以找到元素),但它似乎不想将click事件提供给按钮