我假设browser.wait应该是一个阻塞调用,但它没有像我预期的那样工作.这是我的样本:
describe("browser.wait", function() {
beforeEach(function() {
browser.wait(function() {
console.log('1 - BeforeEach WAIT');
return true;
});
console.log('2 - BeforeEach after wait');
});
afterEach(function() {
browser.wait(function() {
console.log('4 - afterEach WAIT');
return true;
});
console.log('5 - afterEach after wait');
});
it('should probably actually wait.', function() {
console.log('3 - IT statement');
expect(1).toBe(1);
});
Run Code Online (Sandbox Code Playgroud)
现在,因为我认为browser.wait实际上是阻塞的,我认为我的console.log调用将按顺序运行; 1,2,3,4,5;
我得到的实际输出是:
2 - BeforeEach after wait
1 - BeforeEach WAIT
3 - IT statement
5 - afterEach after wait
4 - afterEach WAIT
Run Code Online (Sandbox Code Playgroud)
我如何让browser.wait等待?或者我完全使用了错误的功能?我需要阻止的东西,直到我的浏览器到达下一个呼叫所需的位置.
我正在为登录页面编写E2E测试.如果登录失败,则会弹出一个警告框,通知用户无效的用户名或密码.登录本身是对Web服务的调用,控制器正在处理回调.当我browser.switchTo().alert();在Protractor中使用时,它会在回调结束之前发生.有没有办法让Protractor等待弹出警报框?
我正在使用Ruby和Eventmachine库编写应用程序.我非常喜欢非阻塞I/O和事件驱动系统的想法,我遇到的问题是日志记录.我正在使用Ruby的标准记录器库.它不是永远记录日志,但似乎不应该阻止它,它确实.那里有一个库,它将Ruby的标准记录器实现扩展为非阻塞,或者我应该为我的日志调用调用EM :: defer吗?有没有办法让eventmachine为我做这个呢?
为什么当我打开irb并且我跑步时
puts 'A'.unpack("B8")
我会得到01000001但是当我跑步时
puts 'A'.unpack("B4B4")
我只会得到0100而不是[0100,0001]?
unpack的分辨率只是一个完整的字节?没什么?
我们正在向应用程序中添加一些翻译,我需要进行一些量角器测试,以获取占位符文本并检查是否正确加载了该文本。
如何使用量角器在输入字段上检查占位符的文本?
如果我有一堆只能处理单个视图的ViewControllers,或者即使我的ViewController要处理多个视图,为什么还要使用另一个ViewControllers来管理其他ViewControllers?为什么我不能在ApplicationDelegate级别更改ViewControllers?
也许我正在考虑ViewController错误的方法?我习惯用Ruby/.NET编写MVC模式.举个例子,如果我正在使用小部件,我可能会有一个WidgetController和一个List视图,以及一个WidgetController的Detail视图.
什么是类似的iPhone MVC结构?我假设WidgetController将子类化ViewController,我会有几个不同的视图,这取决于我想看看小部件数据的方式.然后,当我想要处理Wodgits时,我会创建一个带有相关视图的WodgitController,并用新的Wodgit ViewController交换窗口的子视图.
我没有看到有什么RootViewController来控制我的控制器买我.价值在哪里?我错过了什么?
angularjs ×3
protractor ×3
ruby ×2
end-to-end ×1
eventmachine ×1
iphone ×1
javascript ×1
logging ×1
testing ×1
unpack ×1