小编use*_*er1的帖子

"selenium服务器"和"selenium服务器独立"罐子之间的区别

任何人都可以解释"selenium服务器"和"selenium服务器独立"罐子之间的区别和两者的使用.

哪一个更喜欢?什么时候使用哪一个?

selenium

23
推荐指数
1
解决办法
2万
查看次数

为什么使用Selenium和Laravel进行测试?

Laravel和Selenium都使用PHPUnit的断言.在这两个Laravel和硒你写的代码,使测试(而不是选择的东西GUI做的;例如open: google.com,write in: name->queryInput text:"test search",click: name->searchButton).Laravel和Selenium都可以访问网页,提交表单并查看结果.通过向cron添加PHPUnit命令,您可以在Laravel和Selenium中自动执行测试.

那么我为什么要在Laravel中使用Selenium进行测试呢?

我唯一能想到的是Selenium允许您选择打开页面的浏览器.因此,如果您的测试仅使用Laravel测试,那么某些浏览器可能会失败,例如Internet Explorer.

这篇Laracast中,作者在凌晨1点说:

[在Laravel中测试]的一个问题是,它不包括JavaScript支持.所以相反,我们伪造了请求,我们得到了响应,我们正在检查它,但是在该过程中没有涉及浏览器或JavaScript引擎.

但伪造请求的缺点是什么?Selenium如何帮助?一个例子是完美的.

selenium automated-tests laravel

10
推荐指数
1
解决办法
3928
查看次数

将Selenium 2 RemoteWebDriver与ChromeDriver结合使用

我在这里和网络上搜索了我的问题的答案,但找不到任何对我有帮助的东西。希望这不是一个愚蠢的问题。

我正在尝试让Selenium 2使用各种浏览器工作。我使用Mac作为集线器和节点,并使用Windows pc作为节点。我的问题是Chrome。我想在Mac上启动Java代码,并在Windows pc上运行Selenium测试。要使Chrome在本地主机上运行,​​我需要以下代码:

System.setProperty("webdriver.chrome.driver", "Users/xxxxx/chromedriver");
WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
Run Code Online (Sandbox Code Playgroud)

这会在中心/节点Mac上打开Chrome。如何在Windows PC上打开它?我可以将任何东西传递给ChromeDriver()类吗?

我尝试使用RemoteWebDriver,并且具有以下功能:

System.setProperty("webdriver.chrome.driver", "/Users/xxxxx/chromedriver");
DesiredCapabilities cap = DesiredCapabilities.chrome();
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:9515/wd/hub), cap);
driver.get("http://www.google.com");
Run Code Online (Sandbox Code Playgroud)

代码可以编译和执行,但是Chrome永远不会出现。我没有任何错误。请注意,我正在localhost上启动RemoteWebDriver,而Chrome仍然无法正常工作。如果将URL更改为Windows PC的IP,则没有任何改变。我在RemoteWebDriver上做错了什么,或者我需要将参数传递给ChromeDriver。请帮忙。

java selenium-grid selenium-chromedriver

5
推荐指数
1
解决办法
8238
查看次数

Selenium Grid:如何获取执行当前测试的节点名称(计算机名称或IP地址)

我在Grid Hub下执行测试,3个节点在3台远程计算机上运行.在我的日志中,我可以看到从所有这些节点发布的随机顺序的消息.为了分析日志,我必须按计算机名称对其进行排序.我按照以下方式尝试了它(Java):

System.getenv().get("COMPUTERNAME")
Run Code Online (Sandbox Code Playgroud)

但每次它返回Hub正在运行的计算机的名称.

java selenium-grid

5
推荐指数
1
解决办法
2661
查看次数

无法将VM上的selenium webdriver节点注册到Host上的集线器

我有一个IP主机192.168.3.146.此IP是DHCP服务器提供的静态IP.现在我将VM配置为Bridged网络.

我认为IP是10.0.2.15.由于它是桥接的,我是否应该在192.168.3.x分配给VM 的范围内获得任何东西?

当我从这个VM注册到主机时,我无法注册Web驱动程序,它只是说"注册"并且在我杀死它之前什么都不做.

用于注册节点的命令:

java -jar selenium-server-standalone-2.26.0.jar -role web driver -hub http:/192.168.3.146:4444/grid/register -port 5558 -host 10.0.2.15 -browser "browserName=firefox, version=6, platform=WINDOWS"

还尝试过:

java -jar selenium-server-standalone-2.26.0.jar -role node -port 5558 -hub http:/192.168.3.146:4444/grid/register

注意:在两个命令中http:/都是故意的 - 请忽略它.我实际上正在使用,//因为我在发布时遇到错误:

有什么建议吗?

selenium-grid selenium-webdriver

5
推荐指数
1
解决办法
5285
查看次数

一棵树的最小顶点覆盖数

至少有三种算法可以在线性(O(n))时间中找到树中的最小顶点覆盖。我感兴趣的是对所有这些算法的修改,因此我还将获得这些最小顶点覆盖的数量。

例如,对于树P4(具有4个节点的路径),MVC的数量为3,因为我们可以选择以下节点:1和3、2和4或2和3。

当然,您可以描述任何一种免费算法的解决方案-并不是全部3.我只是对所有这些算法感兴趣,但是如果您有任何要添加的内容,请不要犹豫。

我将描述使您更轻松地知道的算法。

1.贪婪算法。

我们可以注意到,对于每个边缘,我们都必须包含一个节点。选择哪一个?假设我们有一个带有“正常”节点和叶子的边。哪个节点更好选择?当然不是叶子,因为另一个节点可能会帮助我们进一步提高优势。算法如下:

  1. 从不是叶的任何节点开始。
  2. 对于每个子对象,请进行DFS调用,并在返回时检查是否将父对象或子对象标记为顶点覆盖中的节点。如果不是,则必须选择其中之一,然后选择父项(并标记)。
  3. 一片叶子什么都不做。

这是代码:https : //ideone.com/mV4bqg

#include<stdio.h>
#include<vector>
using namespace std;

vector<int> graph[100019];
int mvc[100019];

int mvc_tree(int v)
{
    mvc[v] = -1;
    if(graph[v].size() == 1)
        return 0;
    int x = 0;
    for(int i = 0; i < graph[v].size(); ++i)
        if(!mvc[graph[v][i]])
        {
            x += mvc_tree(graph[v][i]);
            if(mvc[v] < 1 && mvc[graph[v][i]] < 1)
                ++x,
                mvc[v] = 1;
        }
    return x;
}

int main()
{
    int t, n, a, b, i;

    scanf("%d", &t); …
Run Code Online (Sandbox Code Playgroud)

algorithm recursion graph-theory dynamic-programming greedy

5
推荐指数
1
解决办法
4847
查看次数

Selenium Grid:与远程浏览器通信时出错。它可能已经死了

我有两台机器,一台装有我需要的所有东西(Eclipse + TestNG + 脚本),另一台只安装了浏览器。我使用 Selenium Grid 2.35.0。

除了我经常收到此错误的问题外,一切似乎都很好: Error communicating with the remote browser. It may have died.

脚本一点也不复杂,我一一运行,所以它只是随机发生的。我不认为这是因为浏览器。任何想法/修复?如果您需要更多信息,我在这里。

selenium-grid selenium-webdriver

5
推荐指数
1
解决办法
3949
查看次数

Selenium IDE-waitForTextPresent

我对Selenium IDE的命令-有疑问waitForTextPresent

<tr>
<td>waitForTextPresent</td>
<td>*saved successfully</td>
<td></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

我有几个使用此命令的测试。所有测试工作正常,但现在,在执行此命令时,Web应用程序冻结,而Firefox崩溃后,整个Firefox冻结,一段时间后我收到了Selenium IDE超时异常。所以我的问题是,为什么会这样?我没有更改测试或硒设置。

一次我收到错误消息:此页面上的脚本可能正忙,或者已停止响应。您可以立即停止脚本,在调试器中打开脚本,或者继续执行脚本。脚本:chrome://selenium-ide/content/…nium-core/scripts/htmlutils.js:679

Windows 7 Firefox 38.0.5 Selenium IDE:2.8.0我正在使用几个与Selenium相关的加载项(例如:Sel Block)。

crash freeze selenium-ide

5
推荐指数
0
解决办法
1841
查看次数

RemoteWebDriver 和 Grid - 是否可以获取服务器 IP?

我使用 Selenium 2 和 Grid 中的 RemoteWebDriver 将测试划分到多个虚拟机上。假设我有两台 Linux 机器,在测试中我指定了在 Linux 机器上运行的功能,但我无法确定正在使用这两台机器中的哪一台。有什么办法可以弄清楚吗?像 driver.getServerIp() 或者其他什么?原因是,在我的 Selenium 测试代码中,我想在运行测试的 Linux 机器的控制台上启动 bash 脚本。因此我必须知道测试在哪台机器上运行。

多谢你们!

ip selenium-grid

4
推荐指数
1
解决办法
5594
查看次数

如何使用 Laravel 的迁移向表添加约束?

假设我有一个periods包含列的表start_date,并且end_date我想添加一个约束start_date < end_date

PostgreSQL 查询将是:

ALTER TABLE periods ADD CONSTRAINT check_dates CHECK ("start_date" < "end_date");
Run Code Online (Sandbox Code Playgroud)

但我想用 PHP 进行迁移。我想它会看起来像这样:

Schema::table('periods', function (Blueprint $table) { $table->something(); });
Run Code Online (Sandbox Code Playgroud)

...但即使使用 IntelliSense,我也无法猜测要写什么而不是“something()”。

我没有使用最新版本的 Laravel,因此如果您添加代码可以从哪个版本运行以及在旧版本中可以执行哪些操作,那就太好了。

laravel laravel-migrations

4
推荐指数
1
解决办法
2529
查看次数