小编non*_*ter的帖子

是否可以在没有GUI的情况下运行selenium(Firefox)Web驱动程序?

我们正在考虑将我们的生产服务器从Ubuntu- desktop 10.04 升级到Ubuntu- server 12.04.

我们在当前的桌面操作系统上运行各种服务,例如Selenium Web Driver.我的问题是Selenium Web Driver可以从基于cli的系统运行吗?

我的直接想法是,它不能,因为它依赖于Firefox,但我希望有人证明我错了!

ubuntu selenium webdriver

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

Python - Selenium WebDriver - 检查元素存在

我有一个问题 - 我使用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

html python selenium webdriver

55
推荐指数
6
解决办法
12万
查看次数

contentEditable字段,用于在数据库输入时维护换行符

我有一个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

javascript jquery html5 newline contenteditable

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

Jenkins - 无法从slave节点git克隆.SSH密钥

我刚刚建立了我的第一个詹金斯奴隶.我运行构建,我遇到了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)

git ssh hudson slave jenkins

11
推荐指数
1
解决办法
3万
查看次数

SOAP-ERROR:编码:对象没有属性

我需要创建一个如下所示的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

php soap web-services soap-client

7
推荐指数
1
解决办法
3万
查看次数

Clover PHPUnit覆盖率报告包括不需要的文件的覆盖范围

我刚刚在我的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 phpunit code-coverage clover jenkins

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

PHP soap和命名空间.PHP致命错误:找不到类'Jira\SoapClient'

我们正在更新我们的代码库以使用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

php apache ubuntu soap

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

MySQL 纵向扩展还是横向扩展?

我的任务是调查我们的内部 Web 应用程序遇到性能问题的原因。

Web 应用程序本身部分是用 PHP 编写的,部分是用 Perl 编写的,而且我们有一个 MySQL 数据库,我认为这是性能下降的根源。

我们的系统有大约 400 个用户,其中大多数分布在不同的时区,因此通常一次最多只有 30 个用户在线。性能问题已经悄然出现在我们面前,尤其是在过去的一年里,随着数据库的不断增长。

该系统在一台 32 位 Debian 服务器上运行 - 6GB RAM,具有 8 x 2.4GHz intel CPU。对于手头的工作来说,这可能不够重。然而,即使有时我是唯一在线用户,页面加载时间仍然可能很慢。

我正在尝试确定我们是否需要纵向扩展或横向扩展。首先,我想知道我们的硬件能否很好地应对对其提出的要求。其次,是否值得横向扩展并创建一些复制从属服务器来平衡负载。

互联网上有很多可用的工具 - 可能太多而无法研究。任何人都可以推荐任何可以提供一些分析/性能监控的工具,这可以帮助我完成我的任务。

非常感谢, ns

mysql optimization performance scale

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