需要检查如何在 Docker 中使用 sikuli 和 Selenium

Posted

技术标签:

【中文标题】需要检查如何在 Docker 中使用 sikuli 和 Selenium【英文标题】:Need to check how to use sikuli with Selenium in Docker 【发布时间】:2021-09-03 23:49:37 【问题描述】:

我在 Windows 中使用 Selenium 和 Sikuli,在 Java 编程中使用 Ubuntu。 例如,我给出了其他示例代码。

package com.sikuli.demo;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.sikuli.script.FindFailed;
import org.sikuli.script.Pattern;
import org.sikuli.script.Screen;
import org.openqa.selenium.chrome.ChromeDriver;

public class SikuliDemo 

    public static void main(String[] args) throws FindFailed 

        System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");
        String filepath = "D:\\Guru99Demo\\Files\\";
        String inputFilePath = "D:\\Guru99Demo\\Files\\";
        Screen s = new Screen();
        Pattern fileInputTextBox = new Pattern(filepath + "FileTextBox.PNG");
        Pattern openButton = new Pattern(filepath + "OpenButton.PNG");
        WebDriver driver;

        // Open Chrome browser
        driver = new ChromeDriver();
        driver.get("http://demo.guru99.com/test/image_upload/index.php");

        // Click on Browse button and handle windows pop up using Sikuli
        driver.findElement(By.xpath(".//*[@id='photoimg']")).click();
        s.wait(fileInputTextBox, 20);
        s.type(fileInputTextBox, inputFilePath + "Test.docx");
        s.click(openButton);

        // Close the browser
        driver.close();

    

我需要在 Docker 中执行代码(在 Ubuntu 机器上安装了 Docker)。 目前使用一个 docker 文件。

docker pull selenium/standalone-chrome

如果您能建议如何将 Sikuli 集成到任何 docker 映像中,那就太好了。 (像selenium-chrome base image..需要与Sikuli集成)

基本上,我创建了一些使用 Selenium 和 Sikuli 的关键字驱动框架。但是,如果我需要在 docker 中执行。需要检查 selenium 和 sikuli 如何协同工作。

【问题讨论】:

猜测“Ubanu”是指 Ubuntu。 【参考方案1】:

由于您在 Ubuntu 上运行了测试,因此您知道如何安装 Sikuli。 使用 dockerfile 对 docker 进行相同的安装 然后确保你的 docker 有真正的用户界面——而不是无头的。你需要这个,因为 Sukuli 是真正的 UI 自动化工具,需要 UI 来运行

【讨论】:

以上是关于需要检查如何在 Docker 中使用 sikuli 和 Selenium的主要内容,如果未能解决你的问题,请参考以下文章

如何在java中使用sikuli进行自动化测试

如何在java中使用sikuli进行自动化测试

如何在java中使用sikuli进行自动化测试

使用sikuli软件进行自动化编程

如何使用sikuli在ios手机做图形自动化

2.2 sikuli中编程运行