从零搭建DevOps平台环境(五)-selenium

文章目录

准备环境

安装docker

拉取镜像

docker pull selenium/hub
docker pull selenium/node-chrome

创建网络

docker network create --subnet=172.18.26.0/24 dockernet_br26

启动容器

docker run -d -p 4444:4444 --net dockernet_br26 --ip 172.18.26.2 --name selenium-hub selenium/hub
docker run -d --net dockernet_br26 --ip 172.18.26.3 -e HUB_HOST=selenium-hub -v /dev/shm:/dev/shm selenium/node-chrome

通过宿主机IP加上4444 端口进行访问
http://IP:4444/wb/hub
在这里插入图片描述或者访问 console http://ip:4444/wb/console
在这里插入图片描述
如此即为安装成功

编码

这里使用java进行编码测试

import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.Test;

import java.net.URL;
import java.time.Duration;

import static org.openqa.selenium.support.ui.ExpectedConditions.presenceOfElementLocated;

public class testRemote {

    @Test
    public void test1() {

        URL url = null;
        try {
            url = new URL("http://IP:4444/wd/hub/");
        } catch (Exception e) {
            System.out.println(e.getCause());
        }
        ChromeOptions chromeOptions = new ChromeOptions();
//        chromeOptions.setCapability("browserVersion", "81");
//        chromeOptions.setCapability("platformName", "linux");
        DesiredCapabilities DesiredCapabilities = new DesiredCapabilities("chrome", "83", Platform.LINUX);

        chromeOptions.addArguments("--headless");
//        chromeOptions.addArguments("--disable-extensions"); // disabling extensions
//        chromeOptions.addArguments("--disable-gpu"); // applicable to windows os only
//        chromeOptions.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
//        chromeOptions.addArguments("--no-sandbox");
        WebDriver driver = new RemoteWebDriver(url, chromeOptions);
        driver.get("http://www.baidu.com");
        System.out.println(driver.getTitle());
        driver.quit();
    }
}

控制台打印:
百度一下,你就知道 即代表测试通过
这时我们就可以通过 WebDriver WebElement 编写代码实现自动化测试。但这样有一点很不好的就是需要针对每一个功能去编写对应的测试代码。
编写Bean 类获取页面元素

同样我们也可以引入新的工具去实现自动录入脚本代码(badbody)。当然手写的更靠谱一些,且目前因为各大浏览器厂商的兼容性不同,不同的网站对于安全策略的使用方式不同的原因,自动录入也会有一些限制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章