我的测试堆栈由最新版本的 Selenium Server(2.33.0,又名 selenium-server-standalone-2.33.0.jar)、Mocha、Node.js 和 PhantomJS 组成。
我的问题是关于以下代码:
var webdriver = require('../../../lib/selenium/node_modules/selenium-webdriver/'),
driver = new webdriver.Builder().
withCapabilities({'browserName': 'phantomjs'}).
build();
driver.manage().timeouts().implicitlyWait(15000);
describe('Wordpress', function() {
it('should be able to log in', function(done) {
driver.get('http://#### REDACTED ####/wp-login.php');
driver.findElement(webdriver.By.css('#user_login')).sendKeys('#### REDACTED ####');
driver.findElement(webdriver.By.css('#user_pass')).sendKeys('#### REDACTED ####');
driver.findElement(webdriver.By.css('#wp-submit')).click();
// #wpwrap is an element on the Wordpress dashboard that is displayed once
// the user is logged in. By testing for its presence, we can determine
// if the login attempt succeeded.
driver.findElement(webdriver.By.css('#wpwrap')).then(function(v) {
done();
});
});
}); …Run Code Online (Sandbox Code Playgroud) 我们之前都看到过这个错误:
Warning: require_once(test/blah.inc) [function.require-once]: failed to open stream: No such file or directory in /home/narf/narf.inc on line 3
Fatal error: require_once() [function.require]: Failed opening required 'test/blah.inc' (include_path='.:/usr/lib64/php:/usr/lib/php:/home/narf/inc:/home3/narf/php:/home3/narf/inc/dev:') in /home/narf/narf.inc on line 3
Run Code Online (Sandbox Code Playgroud)
超级烦人.
以下是我正在寻找的内容:某种PHP代码段将列出正在搜索包含文件的路径.
从我所看到的,我已正确设置我的路径(上面包括场景只是一个制作),我可以从项目的其他部分成功包含该文件.
但是,我无法让它发挥作用.如果我有一个正在搜索的位置列表,我可以轻松找到我错过的路径,并确定我的require/include无效的原因.
思考?有人有一个他们可以分享的片段吗?
提前一百万!:)
编辑:对于它的价值,我认为我已经找到了问题,但是如果你还有一些可以提供帮助的东西,那么对于未来的错误配置来说会很棒!:)
编辑2:感谢所有回答的人.获取包含路径很好,但我正在寻找正在搜索的目录的实际绝对路径.我之所以挑剔是因为在使用require()或include()以及相对路径时会让人感到困惑.此外,我怀疑还有其他一些问题,例如(可能)是否在给定的设置上遵循符号链接等.
这就是它.大多数面向对象编程语言中的范围都可以很好地解析符号,而无需显式引用当前实例(即PHP中的'$ this').为什么PHP要求我在使用$ this的同一个类中的成员函数的每次调用之前?
我的开发环境是基于LAMP的(Drupal); 有几个JS(jQuery)文件可以提供各种功能.
直到最近,事情还不错(好吧,IE6很可怕,但至少它起作用了).然而,最近,我的JS文件中的一个已开始拒绝执行所有在IE6和IE7.
如果文件包含以下内容,我会收到两条警告,分别是"HELLO"和"GOODBYE":
alert('HELLO');
alert('GOODBYE');
Run Code Online (Sandbox Code Playgroud)
但是,当我添加就绪处理程序时,我得到的确是零警报:
alert('HELLO');
$(document).ready(function(){
alert('AWESOME!!!!!!!!!!!!');
}
alert('GOODBYE');
Run Code Online (Sandbox Code Playgroud)
奇怪的是我的代码在Firefox和IE8中运行良好(例如我们看到'真棒!!! ...').此外,此代码用于在IE6/7中正常运行.为了使事情更奇怪,其他 JS文件中的jQuery 仍然可以执行而不会发生任何事故.也许我有太多现成的处理程序?(我只有五个......?)
有什么想法吗?我已经和我斗争了几个小时,我不知道发生了什么.在此先感谢您的帮助!
更新 感谢Alconja(下图),我们确定问题是由于缺少了paren和分号.我在我的一小部分测试代码中修复了问题,并按预期执行了alert().然而,当我回到我的满量程代码库中,括号/分号对为存在.但是,考虑到我使用短测试工具所经历的(以及我在将我的全长代码修剪到测试工具时无意中引入的错误),我知道问题是由于javascript中的语法错误引起的.因此,我只是浏览了文件,删除了越来越多的代码,直到alert()框出现.
正如所预料的那样,(原始)问题是由语法错误引起的.我的(不正确的)代码是:
$.post(
'../ajax/changeUrl',
{
url: url,
},
function(responseText, textStatus, xhr) {
// console.log(this);
// console.log(responseText);
// console.log(textStatus);
// console.log(xhr);
}
);
Run Code Online (Sandbox Code Playgroud)
如您所见,"url:url"行上有一个额外的逗号.删除此逗号后,脚本正确执行.当然,Firefox和其他浏览器并没有像IE那样严重,我知道为什么我插入了这个错误 - 这是一个坏习惯,PHP的宽容引入了数组定义中的逗号(或者可能是参数/变量列表)一般来说)...
无论如何,这是固定的!所以,再次感谢大家!:)
在AS3项目中,我们可以在根类的构造函数的第一行中访问loaderInfo.这意味着整个AS3应用程序可以利用loaderInfo对象.
但是,在Flex中,似乎在发送applicationComplete事件之后,loaderInfo对象才可用.这对我来说是有问题的,因为其他组件(需要利用loaderInfo)在发送applicationComplete事件之前很久就被初始化了.
我肯定错过了什么.谢谢大家的帮助!:)
非常直截了当的问题 - 有没有办法通过PHP设置CPU亲和力?以下任何一项都可以:
我到目前为止找到的唯一选项是最后一个,使用名为schedutils的工具,它似乎只能在更新的内核上支持.
消息来源表明 DynamoDB 是键/值存储、文档存储和/或宽列存储:
DynamoDB的核心是键/值存储。
如果存储的值是文档,DynamoDB 会为使用基础文档提供一些支持。甚至亚马逊也同意。到目前为止,一切都很好。
然而,我看到一些说法称 DynamoDB 实际上是一个宽列存储(1、2、3等)。这对我来说似乎很奇怪,因为据我了解,宽列存储在技术上需要不同的数据存储模型。
将 DynamoDB 视为宽列存储是否合适?
nosql key-value-store document-store amazon-dynamodb wide-column-store
调用addEventListener()时weakReference的默认值为false.使用weakReferences可以解决许多内存问题; 事实上,一些行业专家"强烈建议总是在听众中使用弱引用".
如果是这种情况,有人能为我提供一个很好的理由,为什么weakReference默认为true?(请注意,我不是在问为什么有人会想要一个不是weakReference的监听器,而是为什么weakReference = false是默认值)
谢谢!:)
这是一个非常简单的问题,但我似乎找不到答案,因为selenium-webdriver的javascript绑定文档非常稀疏.(有很多关于java绑定的文档,但javascript是另一个故事)
假设driver并且webdriver它们通常是实例化的,我如何获得任意元素的文本?
我已经尝试过令人难以置信的getText(),然后()等组合,但我所做的一切似乎都没有用.我必须做一些完全错误的事情.
嘿,让我们直接跳转到一个代码示例显示的ECMAScript/JavaScript的/ AS3怎么不能做简单的数学权(AS3使用了数类的IEEE-754双精度浮点数"按理说它是相同的用于JavaScript)...
trace(1.1); //'1.1': Ok, fine, looks good.
trace(1.1*100); //'110.00000000000001': What!?
trace((1.1*100)/100); //'1.1': Brings it back to 1.1 (since we're apparently multiplying by *approximately* 100 and then dividing by the same *approximate* '100' amount)
trace(1.1*100-110); //'1.4210854715202004e-14': Proof that according to AS3, 1.1*100!=110 (i.e. this isn't just a bug in Number.toString())
trace(1.1*100==110); //'false': Even further proof that according to AS3, 1.1*100!=110
Run Code Online (Sandbox Code Playgroud)
是什么赋予了?