我有一个运行许多测试的selenium测试套件,在每个新测试中,它打开了我打开的任何其他窗口顶部的浏览器窗口.在当地环境中工作时非常震动.有什么办法告诉selenium或操作系统(MAC)在后台打开窗口?
我正在尝试使用scrapy从网页上抓取产品信息.我的待删节网页如下所示:
我试图复制next-button-ajax-call但是无法正常工作,所以我试试了selenium.我可以在一个单独的脚本中运行selenium的webdriver,但我不知道如何与scrapy集成.我应该把硒部分放在我的scrapy蜘蛛里?
我的蜘蛛非常标准,如下所示:
class ProductSpider(CrawlSpider):
name = "product_spider"
allowed_domains = ['example.com']
start_urls = ['http://example.com/shanghai']
rules = [
Rule(SgmlLinkExtractor(restrict_xpaths='//div[@id="productList"]//dl[@class="t2"]//dt'), callback='parse_product'),
]
def parse_product(self, response):
self.log("parsing product %s" %response.url, level=INFO)
hxs = HtmlXPathSelector(response)
# actual data follows
Run Code Online (Sandbox Code Playgroud)
任何想法都表示赞赏.谢谢!
我现在正在看Selenium Server,我似乎没有注意到支持无头浏览器测试的驱动程序.
除非我弄错了,否则它不支持它.如果你在X上,你可以创建一个虚拟帧缓冲来隐藏浏览器窗口,但这不是一个真正的无头浏览器.
任何人都可以开导我吗?Selenium是否支持无头浏览器测试?
selenium automated-tests unit-testing headless-browser selenium-webdriver
当我同时执行多个测试时,我不想让Firefox浏览器窗口保持可见..我可以使用它来最小化它,selenium.minimizeWindow()但我不想这样做.
有没有办法隐藏Firefox窗口?我正在使用FireFox WebDriver.
我使用Selenium RC进行测试.现在要执行负载测试,我想运行并行测试用例.有没有办法在不打开浏览器的情况下运行它们?
我需要用Java中的selenium chrome驱动程序进行测试.但是不应该打开镀铬窗口.假设这是一个产品,不应该打开任何窗口.
我也看过这一个; 是否可以在Selenium RC中隐藏浏览器? 但对我来说没有解决方案.测试应该是独立于操作系统的,我已经尝试过HtmlUnitDriver进行测试而不打开任何窗口,但它有一些问题.当通过id查找组件时,它可能无法通过id找到组件.有些服务器可能会根据浏览器发送组件ID,我不知道应该用什么ID来测试.
因为我正在尝试使用chrome驱动程序.
有没有办法使用chromedriver而无需打开镀铬窗口或其他方式进行测试而不用Java中的Selenium打开任何窗口?
谢谢!
我在debian虚拟盒中安装了selenium-server-standalone-2.42.2.jar
并安装了Firefox 29.0
并尝试使用phpunit运行以下脚本,phpunit是目录中唯一的文件:
<?php
class TestLogin extends PHPUnit_Extensions_Selenium2TestCase{
public function setUp()
{
$this->setHost('localhost');
$this->setPort(4444);
$this->setBrowser('firefox');
$this->setBrowserUrl('http://debian-vm/phpUnitTutorial');
}
public function testHasLoginForm()
{
$this->url('index.php');
$username = $this->byName('username');
$password = $this->byName('password');
$this->assertEquals('', $username->value());
$this->assertEquals('', $password->value());
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
1) TestLogin::testHasLoginForm
PHPUnit_Extensions_Selenium2TestCase_WebDriverException: Unable to connect to host
127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
Error: no display specified
Error: no display specified
Run Code Online (Sandbox Code Playgroud)
这是什么意思?
我已经多了几个线程,显然我必须做以下尝试:
1)在命令shell中键入它
export PATH=:0;
Run Code Online (Sandbox Code Playgroud)
结果:我得到了同样的错误.
2)我已经安装了vnc4server并将debian-vm:1作为应用程序然后设置export PATH=debian-vm:1运行它与realvnc并在查看器(这工作)我遇到了同样的问题.
大家好,我前段时间使用Selenium来创建一个程序,在我喜欢使用的网站上执行自动化操作.
我设法使用Selenium做我想做的事情,没有太多麻烦我在后台使用它的唯一问题.
如果不影响我在PC上做的其他事情,我就无法使用它,我确实想到使用虚拟机,但我想尝试避免这种情况.
昨晚我在C#中使用WebBrowser类,它很好但有限,我喜欢它是如何在Windows窗体应用程序中自包含所以这就是我正在寻找的.
任何人都知道在Windows窗体应用程序中集成浏览器的可视化表示的最佳方式,但仍允许我模仿键入等,但会在后台运行.
我听说过WaitN,GekoFX,MozNet等等,但从我读到的内容来看,我不确定这些是否有效.
我是JS的初学者.我的问题是我们是否总是需要使用浏览器来测试JS代码?是否有可用的命令提示符编译器/解释器?
selenium ×6
python ×3
firefox ×2
webdriver ×2
.net ×1
c# ×1
java ×1
javascript ×1
load-testing ×1
scrapy ×1
selenium-rc ×1
testing ×1
unit-testing ×1
web-scraping ×1