我目前正在设计一个量角器脚本,允许我连接到任何网站,以便执行每日测试,看看我们的平台是否正常运行。
为此,我们使用了BrowserStack,这将允许我们进行E2E测试,并检查我们的平台是否与我们的所有格式兼容(可能会查看是否存在错误)。
作为这项技术的初学者,我目前正在经历一个从今天早上起一直困扰着我的错误。我的脚本会产生很多错误,并且在某些平台上无法正常工作。
我会让你详细了解我目前能够发展的东西。没有什么复杂的。
文件test.conf.js:
exports.config = {
'specs': [ 'lavan/single.js' ],
'seleniumAddress': 'http://hub-cloud.browserstack.com/wd/hub',
'commonCapabilities': {
'browserstack.user': process.env.BROWSERSTACK_USERNAME || 'BROWSERSTACK_USERNAME',
'browserstack.key': process.env.BROWSERSTACK_ACCESS_KEY || 'BROWSERSTACK_ACCESS_KEY',
'build': 'SmartscreeningIO',
'name': 'Connexion',
'browserstack.local': true,
'browserstack.debug': 'true'
},
'multiCapabilities': [
{
'browserName': 'Chrome'
},
{
'browserName' : 'Firefox',
'browser_version' : '60.0 beta',
'os' : 'Windows',
'os_version' : '10',
'resolution' : '2048x1536',
},
{
'browserName' : 'Safari',
'browser_version' : '11.0',
'os' : 'OS X',
'os_version' : 'High Sierra',
'resolution' : '1920x1080',
},
{
'browserName' : 'iPhone',
'device' : 'iPhone 8',
'realMobile' : 'true',
'os_version' : '11.0',
},
{
'browserName' : 'android',
'device' : 'Samsung Galaxy S8',
'realMobile' : 'true',
'os_version' : '7.0',
}
],
};
// Code to support common capabilities
exports.config.multiCapabilities.forEach(function(caps){
for(var i in exports.config.commonCapabilities) caps[i] = caps[i] || exports.config.commonCapabilities[i];
});
文件test.js
describe('Smartscreening connexion', function() {
it('can click to button after fill textfields', function(done) {
browser.driver.get('http://smartscreening.io/#/login/company').then(function() {
element(by.name('mail')).sendKeys(mail);
element(by.name('pwd')).sendKeys(pwd);
element(by.buttonText('Continuer')).click();
});
});
});
你可以帮助我解决我的烦恼吗?
非常感谢你
答案 0 :(得分:0)
在你的it函数中有一个参数会导致它尝试异步调用。
using System;
using System.Threading;
using System.Windows.Forms;
namespace ToolTipTesting
{
public partial class Form1 : Form
{
Thread _thread = null;
bool _run = false;
bool _exit = false;
public Form1()
{
var tsbStart = new ToolStripButton();
tsbStart.Text = "Start";
tsbStart.Click += (s,e) => _run = true;
var tsbStop = new ToolStripButton();
tsbStop.Text = "Stop";
tsbStop.Click += (s,e) => _run = false;
var tslValue = new ToolStripLabel();
var ts = new ToolStrip();
ts.Items.Add(tsbStart);
ts.Items.Add(tsbStop);
ts.Items.Add(tslValue);
Controls.Add(ts);
_thread = new Thread(() =>
{
int i = 0;
while (!_exit)
{
if(_run)
{
var result = BeginInvoke(new Action(() => { tslValue.Text = (i++).ToString(); ts.Update(); } ));
while(!_exit && !result.IsCompleted)
result.AsyncWaitHandle.WaitOne(10);
}
else
{
Thread.Sleep(100);
}
}
});
FormClosing += (s,e) =>
{
_exit = true;
_thread.Join();
};
_thread.Start();
}
}
}
完成参数的命名并没有什么区别,它的存在才是最重要的。我从太多的复制/粘贴中遇到了这个问题。
信用:jasmine: Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL