相关疑难解决方法(0)

使用 JAVA 在 selenium 中执行测试的屏幕录制

我使用 java selenium 创建了一个自动化程序。我使用了 TestNG 框架。我想记录在脚本执行期间执行的屏幕的(视频),因此最好跟踪失败/通过的场景并查看执行过程。

任何人都可以帮我解决这个问题,如何在运行自动化套件执行期间记录屏幕。

java testng selenium

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

如何拍摄网页截图?

我在下面使用此代码但生成的图像已损坏.我想可能是因为渲染选项.有人知道发生了什么吗?

package webpageprinter;

import java.net.URL;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeEvent;
import javax.swing.text.html.*;
import java.awt.*;
import javax.swing.*;
import java.io.*;

public class WebPagePrinter {
private BufferedImage image = null;

public BufferedImage Download(String webpageurl) {
try
{
    URL url = new URL(webpageurl);
    final JEditorPane jep = new JEditorPane();
    jep.setContentType("text/html");
    ((HTMLDocument)jep.getDocument()).setBase(url);
    jep.setEditable(false);
    jep.setBounds(0,0,1024,768);
    jep.addPropertyChangeListener("page",new
    PropertyChangeListener() {
                @Override
    public void propertyChange(PropertyChangeEvent e) {
    try
    {
        image = new
        BufferedImage(1024,768,BufferedImage.TYPE_INT_RGB );
        Graphics g = image.getGraphics();
        Graphics2D graphics = (Graphics2D) g;
        graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        jep.paint(graphics); …
Run Code Online (Sandbox Code Playgroud)

java screenshot

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

JUnit 4.11在@After中获取测试结果

有什么方法可以通过teardown(@After)方法获得测试结果?我想根据结果在测试后进行清理。

@After在junit文档中找不到太多详细信息。

java junit junit4

6
推荐指数
1
解决办法
4037
查看次数

PyTest不会运行任何测试

PyTest没有运行任何测试,也不清楚为什么.我试图使用--debug但没有得到任何有价值的信息.目前尚不清楚如何使用pytest调试此类问题(看起来像PyTest配置/ env变量/测试名称模式有些问题?)

测试文件示例:

$ cat test_sanity.py 
import pytest


@pytest.mark.sanity
def test_me():
    """ I'm a test. """

    assert True
Run Code Online (Sandbox Code Playgroud)

但是PyTest没有运行任何测试:

$ pytest
================================================== test session starts ===================================================
platform linux2 -- Python 2.7.12, pytest-3.1.3, py-1.4.34, pluggy-0.4.0
rootdir: /home/qawizard/pytest-hell, inifile:
plugins: xdist-1.15.0, timeout-1.2.0
collected 1 item s

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Exit: Done! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
============================================== no tests ran in 0.13 seconds ==============================================
Run Code Online (Sandbox Code Playgroud)

为什么这样?

python pytest

6
推荐指数
1
解决办法
3130
查看次数

使用 Robot.createScreenCapture 的屏幕截图返回黑色图像?

我尝试在 Windows 7 上使用以下代码捕获屏幕

 Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
 BufferedImage capture = new Robot().createScreenCapture(screenRect);
 ImageIO.write(capture, "jpg", new File("C:/capture/ScreenShot.jpg"));
Run Code Online (Sandbox Code Playgroud)

这段代码返回黑色图像,不知道为什么请帮忙。

进口情况如下:

import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
Run Code Online (Sandbox Code Playgroud)

先感谢您。

java selenium awtrobot selenium-webdriver

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

如何在 Firefox 或 Chrome 中使用 Selenium webdriver 更改屏幕截图的目标目录

我想使用Selenium webdriver 和 Python制作网页的屏幕截图并将其保存在自定义位置。我尝试使用 Firefox 和 Chrome 将屏幕截图保存到自定义位置,但它始终将屏幕截图保存在项目目录中。这是我的 Firefox 版本:

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.dir", 
'C:\\Users\\User\\WebstormProjects')
binary = FirefoxBinary("C:\\Program Files\\Mozilla Firefox\\firefox.exe")


def foxScreen():
    driver = webdriver.Firefox(firefox_binary=binary, 
    firefox_profile=profile)
    driver.get("http://google.com")
    driver.save_screenshot("foxScreen.png")
    driver.quit()


if __name__ == '__main__':
    foxScreen()
Run Code Online (Sandbox Code Playgroud)

这是我的 Chrome 版本:

from selenium import webdriver

options = webdriver.ChromeOptions()
prefs = {"download.default_directory": r'C:\\Users\\User\\WebstormProjects',
         "directory_upgrade": True}
options.add_experimental_option("prefs", prefs)
chromedriver = 
"C:\\Users\\User\\Downloads\\chromedriver_win32\\chromedriver.exe"


def chromeScreen():
    driver = webdriver.Chrome(chrome_options=options, 
                              executable_path=chromedriver)
    driver.get("http://google.com")
    driver.save_screenshot("chromeScreen.png")
    driver.quit()


if __name__ …
Run Code Online (Sandbox Code Playgroud)

python selenium webdriver selenium-chromedriver selenium-webdriver

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

使用 selenium python 截取整个页面的屏幕截图

我正在尝试使用 selenium 和 chromedriver 获取全页屏幕截图,但我得到的是半屏幕截图。我尝试过其他方法,但到目前为止只有这个有效,而且只需要半页屏幕截图。

任何人都可以使用另一个技巧来解决这个问题,也可以附加输出结果。

页面截图

import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options


options = webdriver.ChromeOptions()
options.headless = True
driver = webdriver.Chrome(options=options)

URL = "http://stevens.ekkel.ai"

driver.get(URL)

S = lambda X: driver.execute_script('return document.body.parentNode.scroll'+X)
driver.set_window_size(S('Width'),S('Height')) # May need manual adjustment                                                                                                                
driver.find_element_by_tag_name('body').screenshot('web_screenshot.png')

driver.quit()
Run Code Online (Sandbox Code Playgroud)

python selenium python-3.x selenium-chromedriver selenium-webdriver

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

如何通过 Selenium 和 Java 使用 AShot 库截取整页截图

我尝试了以下代码来获取整页屏幕截图。但只有可见区域被捕获,

public void Fullscreen (WebDriver driver) 
{
    try {
        final Screenshot screenshot = new AShot().shootingStrategy(ShootingStrategies.viewportPasting(1000)).takeScreenshot(driver);
        final BufferedImage image = screenshot.getImage();
        ImageIO.write(image, "PNG", new File("D:\\" + "AShot_BBC_Entire.png"));           
    } catch(Exception e){
        System.out.println(e.getMessage());
    }
}
Run Code Online (Sandbox Code Playgroud)

java selenium screenshot webdriver ashot

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

每当抛出异常时,如何让selenium拍照

我正在使用远程连接到网格机器来运行硒测试.有错误时,很难分析错误.如果我们在发生错误时有一些图片会更好.

java selenium-webdriver

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

使用Selenium Webdriver截图:如何设置窗口大小?

正如其他地方所述(使用Selenium WebDriver截取屏幕截图),您可以使用Selenium Webdriver类PHPUnit_Extensions_Selenium2TestCase轻松地使用PHPUnit截取屏幕截图.

但是,我找不到设置生成的屏幕截图的屏幕大小的方法.默认情况下,它们的宽度似乎限制为1000像素.

BTW:上面提到的Stackoverflow线程已关闭.所以我不能在那里发表我的问题.

php selenium phpunit selenium-webdriver

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

C# Selenium - 如何在 Visual Studio 2015 中截取屏幕截图

在使用 selenium 和 C# 在 Visual Studio 2015 中截取屏幕截图时,我需要一些帮助。运行下面的代码时我不断收到错误消息。

            Screenshot ss = ((ITakesScreenshot)driver).GetScreenshot();
            ss.SaveAsFile(@"C:\Temp\Download\Image.png", 
            ScreenshotImageFormat.Png);
Run Code Online (Sandbox Code Playgroud)

我收到的错误消息是“System.Runtime.InteropServices.ExternalExcepton:GDI+ 中发生一般错误”

如果目前有人能够截取屏幕截图,请告诉我您是否采取了不同的做法。

c# selenium visual-studio-2015

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

Selenium:无法使用 aShot 库截取完整的页面截图

我正在尝试使用Firefox geckodriver 和aShot Library水平和垂直拍摄完整的页面截图。

然而,结果并不如预期。看一看:

在此处输入图片说明

driver.get("https://google.com");

Screenshot fpScreenshot = new AShot().shootingStrategy(ShootingStrategies.viewportPasting(1000)).takeScreenshot(driver);
ImageIO.write(fpScreenshot.getImage(),"JPEG",new File("FullPageScreenshot.jpg"));
Run Code Online (Sandbox Code Playgroud)

研究了很多变体,但没有任何效果。有趣的是,当我尝试使用旧的 Firefox 版本 (46) 时,我可以在没有任何第三方库的情况下截取完整的屏幕截图。我正在尝试使用最新的 Firefox 并具有完整的屏幕截图功能。

有什么帮助吗?

java selenium selenium-chromedriver geckodriver ashot

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