我们正在考虑将我们的生产服务器从Ubuntu- desktop 10.04 升级到Ubuntu- server 12.04.
我们在当前的桌面操作系统上运行各种服务,例如Selenium Web Driver.我的问题是Selenium Web Driver可以从基于cli的系统运行吗?
我的直接想法是,它不能,因为它依赖于Firefox,但我希望有人证明我错了!
我有一个问题 - 我使用selenium(firefox)网络驱动程序打开网页,点击几个链接等然后捕获截图.
我的脚本在CLI中运行良好,但是当通过cronjob运行时,它没有超过第一个find_element()测试.我需要添加一些调试,或者某些东西来帮助我找出它失败的原因.
基本上,我必须在进入登录页面之前单击"登录"锚点.元素的构造是:
<a class="lnk" rel="nofollow" href="/login.jsp?destination=/secure/Dash.jspa">log in</a>
Run Code Online (Sandbox Code Playgroud)
我正在使用find_element By LINK_TEXT方法:
login = driver.find_element(By.LINK_TEXT, "log in").click()
Run Code Online (Sandbox Code Playgroud)
我有点像Python Noob,所以我正在与语言作斗争......
A)如何检查链接是否实际被python拾取?我应该使用try/catch块吗?
B)是否有比LINK_TEXT更好/更可靠的方法来定位DOM元素?例如,在JQuery中,您可以使用更具体的选择器$('a.lnk:contains(登录)').do_something();
我已经解决了主要问题,这只是手指麻烦 - 我用不正确的参数调用脚本 - 简单的错误.
我仍然喜欢一些关于如何检查元素是否存在的指针.另外,隐式/显式Waits的示例/解释而不是使用糟糕的time.sleep()调用.
干杯,ns
我有一个div属性contentEditable设置.
这允许我有一个自由格式的可编辑textarea,而不需要任何表单输入字段:http://jsfiddle.net/M8wx9/8/
但是,当我创建几个新行并单击"保存"按钮时,我会使用该.text()方法获取内容,该方法将删除刚刚输入的换行符.如果可能的话,我需要维护换行符,并将内容作为纯文本存储在数据库中.
我可以使用.html()而不是直接将HTML存储到数据库,.text()但我不喜欢这个想法,因为我可能需要将此数据提取为未来的纯文本.此外,在Firefox中按Enter键打破了新的界限<br>,Chrome和Safari正在打破,<div>...</div>而Internet Explorer和Opera正在使用<p>...</p>新的行段落,因此能够解析html听起来并不容易.
如何保留这些换行符并将内容作为纯文本存储在数据库中(类似于textarea的方式)?
最诚挚的问候, ns
我刚刚建立了我的第一个詹金斯奴隶.我运行构建,我遇到了SSH密钥的问题.主Jenkins服务器在用户'jenkins'下运行.我已经设置了SSH密钥,这样我就可以在没有密码的情况下从主服务器SSH到从服务器.
例如,来自大师:
jenkins@master:~$ ssh slave
Last login: Tue Apr 17 10:30:22 2012 from masterjenkins.com
$ whoami
jenkins
Run Code Online (Sandbox Code Playgroud)
这样就证明了从节点也在'jenkins'用户下运行.(我已将jenkins @ slave的公共ssh密钥复制到远程git服务器).而且我可以从slave手动发出git clone,但是当我从master中启动构建时,我得到了以下类型的消息:
ERROR: Error cloning remote repo 'origin' : Could not clone git@host:abc
hudson.plugins.git.GitException: Could not clone git@host:abc
Caused by: hudson.plugins.git.GitException: Error performing command: git clone --progress -o origin git@host:abc /var/lib/jenkins/workspace/abc_build
Command "git clone --progress -o origin git@host:abc /var/lib/jenkins/workspace/abc_build" returned status code 128: Initialized empty Git repository in /var/lib/jenkins/workspace/abc_build/.git/
Host key verification failed.
fatal: The remote end hung up unexpectedly
Caused …Run Code Online (Sandbox Code Playgroud) 我需要创建一个如下所示的SOAP请求:
<soapenv:Body>
<getItemsForProject>
<token>
<user>?</user>
<password>?</password>
</token>
<projectId></projectId>
<start>0</start>
<count>0</count>
</getItemsForProject>
</soapenv:Body>
Run Code Online (Sandbox Code Playgroud)
该操作期望:
[209] => struct getItemsForProject {
wsAuth token;
long projectId;
int start;
int count;
}
Run Code Online (Sandbox Code Playgroud)
我试过以下但是继续打 PHP Fatal error: SOAP-ERROR: Encoding: object has no 'start' property
我知道可以像这样创建令牌对象,因为我已经将它用于另一个操作:
$auth->token = new \stdClass;
$auth->token->user = $username;
$auth->token->password = $password;
Run Code Online (Sandbox Code Playgroud)
但是,对'start'参数执行类似操作会导致致命错误消息失败.这是代码的一部分:
$opts = new \StdClass;
$opts->projectId = 123;
$opts->start = 0;
$opts->count = 0;
$resp = $soap->getItemsForProject($auth, $opts);
echo $soap->__getLastRequest() ."\n";
Run Code Online (Sandbox Code Playgroud)
我无法打印完整的soap请求,$soap->__getLastRequest()因为它在发出请求之前返回致命错误.同样,我不能使用var_dump()的$resp,因为它在执行该行前死亡.我怎么知道实际发送的是什么?!如果我知道,那么我可以更轻松地调试它.
谢谢, ns
我刚刚在我的Jenkins工作中设置了CloverPHP.
我正在使用PHPUnit来生成三叶草报告,它似乎与显示该文件的覆盖率报告不同
/usr/share/php/SymfonyComponents/YAML/sfYamlInline.php
Run Code Online (Sandbox Code Playgroud)
作为报告的一部分.我不确定它的来源,我的猜测是PHPUnit或XDebug包含它.显然这不是我自己的代码库的一部分,所以我对它不感兴趣.它影响了我的项目产生的整体指标.有没有办法从报告中排除这个文件?
非常感谢, ns
编辑
答案是使用phpunit xml配置文件,该文件可以包含过滤器黑名单.我将在6个小时内正确回答我的问题(stackoverflow让我等了8个小时才回答我的问题!)
我们正在更新我们的代码库以使用PHP-5.3 +中提供的命名空间功能
以前,我们的文件都在/ htdocs/php中的webserver上幸福地生活,但现在我们将脚本分开,并将我们的PHP库放在/ htdocs/php/lib /中
在/ htdocs/php/lib /中我们有一个名为Jira.php的文件,我们给它一个命名空间:
<?php
# Define a namespace for this library
namespace Jira;
function create_client($jira_url, $options)
{
global $client;
try
{
$client = new SoapClient($jira_url, $options);
}
catch (Exception $error)
{
echo $error -> getMessage() . "<br/><p style='color:red'> Could not connect to Jira </p>";
}
}
?>
Run Code Online (Sandbox Code Playgroud)
但是,当我们尝试从/ htdocs/php中的脚本调用此函数时,我们得到的类找不到错误:
PHP Fatal error: Class 'Jira\SoapClient' not found
Run Code Online (Sandbox Code Playgroud)
当我们尝试创建SoapClient对象时,这会失败.
我已经验证我在/ usr/share/php/SOAP /和php_info()中安装了php-soap软件包; 显示它已启用等
所以这可能是命名空间约定的问题.如果没有抛出错误,我们如何包含该类?
问候, ns
我的任务是调查我们的内部 Web 应用程序遇到性能问题的原因。
Web 应用程序本身部分是用 PHP 编写的,部分是用 Perl 编写的,而且我们有一个 MySQL 数据库,我认为这是性能下降的根源。
我们的系统有大约 400 个用户,其中大多数分布在不同的时区,因此通常一次最多只有 30 个用户在线。性能问题已经悄然出现在我们面前,尤其是在过去的一年里,随着数据库的不断增长。
该系统在一台 32 位 Debian 服务器上运行 - 6GB RAM,具有 8 x 2.4GHz intel CPU。对于手头的工作来说,这可能不够重。然而,即使有时我是唯一在线用户,页面加载时间仍然可能很慢。
我正在尝试确定我们是否需要纵向扩展或横向扩展。首先,我想知道我们的硬件能否很好地应对对其提出的要求。其次,是否值得横向扩展并创建一些复制从属服务器来平衡负载。
互联网上有很多可用的工具 - 可能太多而无法研究。任何人都可以推荐任何可以提供一些分析/性能监控的工具,这可以帮助我完成我的任务。
非常感谢, ns
php ×3
jenkins ×2
selenium ×2
soap ×2
ubuntu ×2
webdriver ×2
apache ×1
clover ×1
git ×1
html ×1
html5 ×1
hudson ×1
javascript ×1
jquery ×1
mysql ×1
newline ×1
optimization ×1
performance ×1
phpunit ×1
python ×1
scale ×1
slave ×1
soap-client ×1
ssh ×1
web-services ×1