我正在练习TDD一段时间了,我想提高我的技能并开始做ATDD,我读了关于ruby和java的框架但是没有听到很多关于.NET的内容
.NET中用于编写验收测试的最新维护框架是什么?
编辑:在阅读更多内容后,我想要注意的是,我正在将网站和网络应用的验收测试联系起来,任何可能都需要考虑进行GUI测试.
全局配置RSpec是否可以为所有请求规范使用Capybara(默认或自定义)JavaScript驱动程序?我们有时会忘记手动添加js: true到每个请求规范,这有点烦人.
我在WAMP平台上运行最新版本的Codeception - 我的接受是非常基本的,但工作正常(见下文):
$I = new WebGuy($scenario);
$I->wantTo('Log in to the website');
$I->amOnPage('/auth/login');
$I->fillField('identity','admin@admin.com');
$I->fillField('password','password');
$I->click('Login');
Run Code Online (Sandbox Code Playgroud)
简而言之 - 它检查页面是'auth/login'填写2个表单字段并单击登录按钮.这没有任何问题.
这是我相同的功能测试:
$I = new TestGuy($scenario);
$I->wantTo('perform actions and see result');
$I->amOnPage('/auth/login');
$I->fillField('identity','admin@admin.com');
$I->fillField('password','password');
$I->click('Login');
Run Code Online (Sandbox Code Playgroud)
当我从命令行运行它时,我得到以下错误(不是完整的错误,但足以理解问题):
1) Couldn't <-[35;1mperform actions and see result<-
[0m in <-[37;1LoginCept.php<-[0m <-41;37mRuntimeException:
Call to undefined method TestGuy::amOnPage<-[0m.......
Run Code Online (Sandbox Code Playgroud)
我的验收套件启用了"PhpBrowser"和"WebHelper"模块,功能套件启用了"FileSystem"和"TestHelper"(在acceptance.suite.yml和functional.suite.yml文件中)
显然amOnPage()函数是问题 - 然而我被引导相信amOnPage()应该在验收和功能测试中工作?或者我错了 - 也 - 有人可以解释数字的含义,例如'< - [35; 1m'出现
更新:我尝试将'WebHelper'模块添加到functional.suite.yml但我没有看到在TestGuy.php文件中自动生成amOnPage() - 任何想法?
我的配置文件如下:
WebGuy
class_name: WebGuy
modules:
enabled:
- PhpBrowser
- WebHelper
config:
PhpBrowser:
url: 'http://v3.localhost/'
Run Code Online (Sandbox Code Playgroud)
TestGuy
class_name: …Run Code Online (Sandbox Code Playgroud) command-line unit-testing acceptance-testing functional-testing codeception
我寻找一个工具/框架来进行自动验收测试.创建新测试的界面应该非常简单,非程序员(客户,老板)将能够添加将自动测试的规范.
它应该是某种方式从命令行执行测试,包括在自动构建中运行测试.
我更喜欢Java和开源,但我的问题并不局限于此.
您可以推荐什么,并解释为什么您的工具/框架是世界上最好的.
我正在寻找有关使用一些flex组件自动测试Web应用程序的工具的建议.
为了提供一些背景知识,我们有一个完全用AJAX + HTML开发的Web应用程序,我们在使用Selenium端到端测试该应用程序方面取得了一些成功.我们最近在混合中添加了一些flex组件,它变得复杂了.
我们尝试使用Selenium Flex,但我们对它的功能感到失望.所以现在我们正在寻找一些替代方案.理想情况下,该工具可以同时驱动卷筒纸和柔性部件,但我们也可以自行测试柔性部件.我们更喜欢开源,但良好的商业工具也是一种选择.
我听说过Fluint和FlexMonkey,但还没有尝试过.有人有使用这些的经验吗?对刚开始的人有什么建议吗?任何陷阱?
还有其他一些可以使用的工具吗?
谢谢.
我正在查看SpecFlow示例,它的MVC示例包含几个测试选项:
我必须说我对SpecFlow示例的编写方式印象深刻(我设法在下载后几分钟内运行它们,只需配置数据库并安装Selenium Remote Control服务器).看看测试方案,我可以看到它们中的大多数相互补充而不是替代方案.我可以想到以下这些测试的组合:
如果您在Web开发中使用SpecFlow,Cucumber或其他BDD验收测试框架,请与您分享您在不同测试类型之间进行选择的实践.
提前致谢.
我想我完全理解SpecFlow背后的概念和想法,但即使阅读了Secret Ninja Cucumber Scrolls,The Cucumber Book,并且经历了各种论坛,我仍然不确定可重用性的途径.
我们的方案已经符合各种指南
我们的步骤必须遵守以下准则(一些特定于SpecFlow):
但即使我们使用正则表达式占位符,我们仍然会得到相同步骤的大量变体.特别是如果某些事情不重要,你就不应该提到这些变化的规则.是的,在内部这些步骤重复使用,但不在场景中.
考虑例如以下场景:
Feature: Signing where both persons are physically available
@Smoke
Scenario: Show remaining time to sign based on previous signature
Given a draft proposal
And the first signature has been set
When I try to set …Run Code Online (Sandbox Code Playgroud) 我对系统测试和验收测试之间的真正区别感到困惑.当我搜索这个主题时,答案不同,我没有看到测试用例如何大不相同.
事实我发现:
系统测试在整个系统上进行,由供应商完成.系统测试是端到端测试,您可以根据需求规范(功能和非功能)测试系统中的完整流(从登录到注销).
验收测试由客户完成,以验证其是否满足客户需求.这也是完整的流程,并且基于需求规范.然而,构建的系统是根据需求规范设计的,并且外观/可用性通常已经在开发周期的早期阶段被接受.如果系统满足要求规范,则客户不应该说"这不是我们想要的,重做这个和那个",除非合同允许这样做并且客户每小时付费.
所以,我的问题基本上是,这两个测试阶段的测试用例将如何不同?它们都是端到端测试,并专注于它是一个功能系统,它满足规范,其程度也是业务需求(因为它是他们订购的).似乎系统测试中的测试用例可以在验收测试中重复使用,因为它们都可以完成整个流程?
我正在使用夜视仪并尝试迭代元素列表.但是,当我没有获得对象或元素时,我得到了一个字符串数组.
码
browser.elements("css selector", ele, function(r){
browser.perform(function(){
console.log("LIST", r);
})
})
Run Code Online (Sandbox Code Playgroud)
返回
LIST { sessionId: 'b273b874-c084-4d17-8bbe-a911a170ef25',
status: 0,
state: 'success',
value:
[ { ELEMENT: '6' },
{ ELEMENT: '7' },
{ ELEMENT: '8' },
{ ELEMENT: '9' },
{ ELEMENT: '10' },
{ ELEMENT: '11' } ],
class: 'org.openqa.selenium.remote.Response',
hCode: 995684858 }
Run Code Online (Sandbox Code Playgroud)
本value应该返回webElements权的对象?
提前致谢
如果我有微服务,它应该创建用户,但由于用户创建很复杂,它使用队列,用户实际上是由消费者创建的,端点只接受请求并返回正常或失败.
如何为此验收标准创建验收测试:
给定:想要注册的用户
何时:请求api 创建用户
然后:创建用户并为新用户设置托管环境_id
为此,我必须等待环境实际设置,这需要30秒.如果我在我的测试中实现睡眠,那么我点击反模式等待,看看如何正确测试它而不失败最佳实践?
bdd ×2
java ×2
selenium ×2
specflow ×2
testing ×2
unit-testing ×2
.net ×1
apache-flex ×1
asp.net-mvc ×1
c# ×1
capybara ×1
codeception ×1
command-line ×1
cucumber ×1
gherkin ×1
ghostdriver ×1
php ×1
rspec ×1
ruby ×1
tdd ×1