小编Jon*_*röm的帖子

WatiN还是Selenium?

我将很快开始编写一些自动化测试.似乎每个人都推荐WatiNSelenium.您更喜欢哪种自动测试ASP.NET Web表单?哪些产品更适合您?

作为旁注,我注意到WatiN 2.0自2008年3月以来一直在CTP中,是否值得关注?

asp.net selenium automation watin automated-tests

147
推荐指数
9
解决办法
5万
查看次数

Rspec - Rails - 如何遵循重定向

有谁知道如何使rspec遵循重定向(在控制器规范中)?(例如,test/unit有follow_redirect!)

我试过"follow_redirect!" 和"follow_redirect"但只得到

undefined method `follow_redirect!' for #<Spec::Rails::Example::ControllerExampleGroup::Subclass_1:0xb6df5294>
Run Code Online (Sandbox Code Playgroud)

例如:
当我创建帐户时,页面将重定向到帐户页面,我的新帐户应位于列表的顶部.

it "should create an account" do
  post :create, :name => "My New Account"
  FOLLOW_REDIRECT!
  response.code.should == "200"
  accounts = assigns[:accounts]
  accounts[0].name.should == "My New Account"
end
Run Code Online (Sandbox Code Playgroud)

但是FOLLOW_REDIRECT!需要改为实际工作的东西.

testing rspec ruby-on-rails web-testing

40
推荐指数
4
解决办法
3万
查看次数

可以通过oauth处理登录的REST客户端

我在基于Rest API的系统上担任测试人员.我的部分工作是使用不同的应用程序将文件POST到Rest API,然后通过Rest Client直接访问API以验证XML是否正确.

到目前为止,我一直在使用RESTClient firefox附加组件.

但现在我们正在摆脱旧的登录,转而支持Oauth.这一切都很好,但它会使测试变得更难,因为我不能(不知道如何?)如何使用我正在使用的REST客户端访问Rest API.我不知道任何其他REST客户端可以做到这一点.

我需要一个可以通过oauth处理登录的REST客户端/ REST浏览器.

更新:
嗨.我仍然在寻找能够处理Oauth的更好的REST客户端.所以,如果你知道任何我会感谢下面的帖子.

testing rest black-box restful-authentication oauth

9
推荐指数
2
解决办法
3万
查看次数

Maven - Selenium - 只能运行一次测试

我们正在使用JUnit - Selenium进行网络测试.我们使用Maven启动它们并构建一个万无一失的报告.

测试套件非常大,运行需要一段时间,有时单个测试失败,因为浏览器无法启动.我希望能够使用maven运行SINGLE测试,因此我重新测试失败的测试并更新报告.

我可以用来mvn test -Dtest=TESTCLASSNAME在一个测试类中运行所有测试,但这还不够好,因为在我们最复杂的测试类中运行所有测试大约需要10分钟,而且其他测试很可能会失败(因为浏览器)不会开始)这会弄乱我的报告.

我知道我可以从Eclipse运行一个测试,但这不是我想要的.

对此的任何帮助都会非常有用

junit selenium surefire maven

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

QTP,按标签访问QC字段

我想使用Label of字段而不是名称来更新QC中的自定义用户字段

目前我们这样做

Set currentRun = QCUtil.CurrentRun
currentRun.Field("RN_USER_03") = 1
currentRun.Post
Run Code Online (Sandbox Code Playgroud)

但我想这样做

Set currentRun = QCUtil.CurrentRun
currentRun.Field("Data Rows Passed") = 4
currentRun.Post
Run Code Online (Sandbox Code Playgroud)

但我找不到这样做的方法.有任何想法吗?

testing qtp qc hp-quality-center

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

语内语义差异

我一直在考虑做自己的语言(实用性:这是一个思想实验).我提出的一个想法是语内语义变异.你基本上编写了语义正则表达式,用等效代码替换.您可以在D-中稍微不那么直接地看到它 - 它们具有转换为D代码的字符串混合.除了我打算隐含地,并以更循环的方式.

现在,我来自C++.所以,如果你考虑:

string a, b, c, d;
// do stuff
a = b + c + d;
Run Code Online (Sandbox Code Playgroud)

此代码会产生各种临时性.即使你有左值参考,你也会创建临时值,它们只会被更有效地重复使用.但它们仍然存在并仍然浪费性能.在最简单的情况下,我在考虑如何消除这些问题.您可以编写一个语义正则表达式,将其转换为最优化的形式.

string a, b, c, d;
// do stuff
a.resize(b.size() + c.size() + d.size());
a = b; a += c; a += d;
Run Code Online (Sandbox Code Playgroud)

如果我实现了std :: string,我可能会写得更快.关键是它们是隐式的 - 当你使用std :: string类时,std :: string实现者编写的公理会影响任何std :: string代码.您可以将其放入现有的C++代码库中,重新编译,并获得std :: string实现者可以免费设想的最快的字符串连接.

目前,您可以进行的优化是有限的,因为您只有语言允许的上下文,在这种情况下,C++中的运算符重载只接受两个参数,this和arg.但语义注册表几乎可以占用您可能需要的所有上下文 - 因为您可以指定匹配的内容 - 甚至可以匹配宿主语言中不存在的语言功能.例如,交换是微不足道的

string a;
a.size;
Run Code Online (Sandbox Code Playgroud)

对于

string a;
a.size();
Run Code Online (Sandbox Code Playgroud)

如果你想窃取C#属性.您可以匹配类定义并实现编译或运行时反射等.

But, I mean, it could get confusing. If there was a bug, …

language-agnostic language-features language-design

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

是否有任何编程语言将功能视为可以操作的数据结构?

我编写了以下函数作为我正在开发的jQuery插件的一部分:

$.fn.append2 = function(collection, callback) {
    var $this = this;

    $.each(collection, function(key, value) {
        $this.append(callback ? callback(key, value) : value);
    });

    return this;
};
Run Code Online (Sandbox Code Playgroud)

在测试了一个高度依赖的高度递归函数之后.append2,我优化.append2了:

$.fn.append2 = function(collection, callback) {
    var $this = this;

    $.each(collection, callback
        ? function(key, value) { $this.append(callback(key,value)); }
        : function(key, value) { $this.append(value); }
    );

    return this;
};
Run Code Online (Sandbox Code Playgroud)

虽然这个代码在速度方面更有效,但它仍然让我不满意.基本上,我有两次定义相同的函数:

function(key, value) { $this.append(callback(key,value)); }
function(key, value) { $this.append(value); }
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何语言可以让我只定义一次函数:

function(key, value) { $this.append(value); }
Run Code Online (Sandbox Code Playgroud)

然后通过将参数替换为$this.appendfrom value来对其进行操作callback(key, value) …

language-features programming-languages functional-programming code-injection homoiconicity

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