我想知道,我有这个HTML:
<li>
<span class="jqTransformRadioWrapper">
<a rel="choices[choices]" class="jqTransformRadio jqTransformChecked" href = "#"></a>
<input type="radio" id="choices_choices_5" value="5" name="choices[choices]" class="jqTransformHidden">
</span>
<label for = "choices_choices_5" style = "cursor: pointer;">My awesome test</label>
</li>
Run Code Online (Sandbox Code Playgroud)
有些人可能会认识到输入是jqTransformed
我想知道如何点击名为"我很棒的测试"的标签.
现在,我这样做:
$el = $this->getSession()->getPage()->find('css', 'ul li span.jqTransformRadioWrapper a');
$el->click();
Run Code Online (Sandbox Code Playgroud)
但它选择了第一个元素.我想用他们的名字(并且只有)选择它们,对于这个例子,它将是"我真棒的测试".
谢谢
我有以下典型的python项目文件结构
packageA
+----subpackage1
+----classa.py
+----subpackage2
+----classb.py
+----test
+----subpackage1
+----classa_test.py
+----subpackage2
+----classb_test.py
Run Code Online (Sandbox Code Playgroud)
我目前正在尝试组织我的单元测试和功能测试,因此我可以使用nose单独运行unittests和功能测试,但也可以选择运行所有测试.测试将存在于packageA/test/subpackage1和packageA/test/subpackage2中.
这有效
$this->assertEquals(1, $crawler->filter('.elementClass')->count()); // filter by class
Run Code Online (Sandbox Code Playgroud)
但是,这似乎不起作用.
$this->assertEquals(1, $crawler->filter('#elementId')->count()); // filter by id
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我们有一个使用ServiceStack连接的ASP.NET Web应用程序.我之前从未编写过功能测试,但我们的任务是针对我们的API编写测试(nUnit)并证明它一直工作到数据库级别.
有人可以帮我开始编写这些测试吗?
以下是post我们的用户服务的方法示例.
public object Post( UserRequest request )
{
var response = new UserResponse { User = _userService.Save( request ) };
return new HttpResult( response )
{
StatusCode = HttpStatusCode.Created,
Headers = { { HttpHeaders.Location, base.Request.AbsoluteUri.CombineWith( response.User.Id.ToString () ) } }
};
}
Run Code Online (Sandbox Code Playgroud)
现在我知道如何编写一个标准的单元测试,但我对此部分感到困惑.我是否必须通过HTTP调用WebAPI并初始化Post?我是否只是像单位测试那样调用方法?我想这是"功能测试"的一部分让我望而却步.
我在Rails功能测试中发送POST请求,如下所示:
post :create, collection: { name: 'New Collection' }
Run Code Online (Sandbox Code Playgroud)
collection 按预期,以JSON编码的表单数据发送.
我无法弄清楚的是如何向URL添加查询.文档说我可以访问请求对象并在发送之前对其进行修改.所以我尝试了这个:
@request.GET[:api_key] = 'my key'
post :create, collection: { name: 'New Collection' }
Run Code Online (Sandbox Code Playgroud)
但是,:api_key永远不会出现在request.GET服务器上的哈希值中.(但是,当我通过另一个HTTP客户端发送它时,它会这样做.)
我正在尝试使用Nightwatch.js断言/验证属性的多个元素.
我尝试使用selenium的"elements"命令,但它似乎并没有真正返回一个标签.
browser.elements('css selector','icon_checkmark', function (result) {
this.verify.attributeEquals(result.value, 'aria-hidden', 'true');
})
Run Code Online (Sandbox Code Playgroud)
控制台输出此错误:
Testing if attribute aria-hidden of <[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]> equals "true".
Element could not be located. - expected "true" but got: null
ERROR: Unable to locate element: "[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]" using: css selector
Run Code Online (Sandbox Code Playgroud)
它似乎找到了正确的东西,因为应该有6但是不知怎的,我读出了错误的东西?result.log的result.value [0]只给出了{ELEMENT:'19'}这似乎是正确的.
知道怎么能让这个工作吗?我想检查具有类icon_checkmark的所有元素是否具有属性aria-hidden ="true".
javascript selenium accessibility functional-testing nightwatch.js
在Symfony中启用CSRF保护的情况下,为测试表单创建功能测试的最佳方法是什么?
目前,我必须在每个表单提交之前添加以下代码:
$form = new sfGuardFormSignin();
$token = $form->getCSRFToken();
$token_name = $form->getCSRFFieldName();
Run Code Online (Sandbox Code Playgroud)
然后我添加$ token和$ token_name来形成如下参数:
call('/login', 'POST', array (
'signin' =>
array (
'username' => $username,
'password' => $password,
$token_name => $token,
)))
Run Code Online (Sandbox Code Playgroud)
文档中建议的选项:
'_with_csrf' => true,
Run Code Online (Sandbox Code Playgroud)
根本不起作用.
是否有更简单的方法可以避免为每个手动测试表单添加令牌?或者有没有办法在运行测试时关闭csrf检查?
当你必须测试1-2个表单时,我上面描述的方式是可以的,但如果项目包含数十个独特的表单,则会变得很痛苦.
我想运行模拟用户在同一时间Grails应用程序修改某些数据进行测试.
是否有任何插件/工具/机制可以用来有效地完成这项工作?它们不一定是特定的grails.应该可以并行触发多个动作.
我更喜欢在功能级别上运行测试(到目前为止,我正在使用Selenium进行其他测试)以从用户角度查看结果.当然,这除了可以集成测试完成,如果你会推荐上运行集成度并发修改测试以及.
testing grails functional-testing optimistic-locking concurrentmodification
例如,我有一个经常需要执行的步骤,例如在某些测试之前用户登录.
如何为CasperJS编写可重用的代码块?他们扩展CasperJS的文档仅针对一个文件编写......
谢谢!
功能测试和端到端测试有什么区别?
Techopedia说端到端测试是
用于测试应用程序流程是否按照设计从头到尾执行的方法.执行端到端测试的目的是识别系统依赖性并确保在各种系统组件和系统之间传递正确的信息.
Techopedia还说了以下关于功能测试:
功能测试是在软件开发中使用的软件测试过程,其中测试软件以确保其符合所有要求.功能测试是一种检查软件的方法,以确保它具有在其功能要求中指定的所有必需功能.
阅读完上述两段后,我仍然对它们之间的区别感到困惑.
我有一个接受请求的node.js应用程序,然后解析请求,然后将解析后的数据发送到数据库.
requests parse requests and send data to the database
Client ---------> node.js app --------------------------------------------> Database
Run Code Online (Sandbox Code Playgroud)
如何为我提到的node.js应用程序编写端到端测试和功能测试?
我认为在两种类型的测试中,我都应该将node.js应用程序视为黑盒子.并向它发送请求.然后检查黑匣子的输出是否正确.
在我看来,功能测试和端到端测试之间没有区别.