• Июня 05, 2020, 03:10:20 am
• Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Новости: Вебинар по выбору IT профессии: http://bit.ly/2S4kcC6

Автор Тема: QA Automation(21.09.2019)  (Прочитано 1806 раз)

Alexandr220v

  • Пользователи
  • *
  • Сообщений: 39
    • Просмотр профиля
    • E-mail
Re: QA Automation(21.09.2019)
« Ответ #30 : Октября 26, 2019, 11:51:41 am »
public class BaseTest {

    public static final Logger LOG = Logger.getLogger(BaseTest_Next.class);
    private RemoteWebDriver driver;
    private static final String BASE_URL = "http://localhost/litecart/";

    public WebDriver getDriver() {
        return driver;
    }

    public void setDriver(RemoteWebDriver driver) {
        this.driver = driver;
    }

    @Parameters("Browser")
    @BeforeMethod
    public void setUp(@Optional String type) {
        if (type.equals("chrome")) {
            LOG.info("Initialization chrome driver...");
            setDriver(runChromeDriver());
        } else if (type.equals("firefox")) {
            LOG.info("Initialization firefox driver...");
            setDriver(runFireFoxDriver());
        }

        driver.manage().window().maximize();
        driver.navigate().to(BASE_URL);
    }


    private RemoteWebDriver runChromeDriver() {
        WebDriverManager.chromedriver().version("77.0").setup();
        setDriver(new ChromeDriver());
        return driver;
    }


    private RemoteWebDriver runFireFoxDriver() {
        WebDriverManager.firefoxdriver().version("0.26.0").setup();
        setDriver(new FirefoxDriver());
        return driver;
    }

    @AfterMethod(alwaysRun = true)
    public void close(ITestResult testResult) throws IOException {
        if (testResult.getStatus() == ITestResult.FAILURE) { //Если тест упал - делаем скриншот
            LOG.error("Test is FAILED" + testResult.getTestName());
            makeAScreenshotAndReturnFilePath(driver);
        }

        if (testResult.getStatus() == ITestResult.SUCCESS) {
            LOG.info("Test is PASSED" + testResult.getTestName());
        }
        getDriver().close();
    }

    private String makeAScreenshotAndReturnFilePath(RemoteWebDriver driver) throws IOException {
        File scrFileLocal = driver.getScreenshotAs(OutputType.FILE);
        final File destFile = new File("test-output/" + scrFileLocal.getName());
        FileUtils.copyFile(scrFileLocal, destFile);
        return destFile.getName();
    }

Alexandr220v

  • Пользователи
  • *
  • Сообщений: 39
    • Просмотр профиля
    • E-mail
Re: QA Automation(21.09.2019)
« Ответ #31 : Октября 26, 2019, 12:56:48 pm »

Alexandr220v

  • Пользователи
  • *
  • Сообщений: 39
    • Просмотр профиля
    • E-mail
Re: QA Automation(21.09.2019)
« Ответ #32 : Октября 26, 2019, 01:04:54 pm »
<properties>
        <aspectj.version>1.9.4</aspectj.version>
        <!--<use_system_properties>true</use_system_properties>
        &lt;!&ndash;property of account # to test of test runs:&ndash;&gt;
        <hostName>local</hostName>-->
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.20</version>
                <configuration>

                    <suiteXmlFiles>
                        <suiteXmlFile>TestNG.xml</suiteXmlFile>
                    </suiteXmlFiles>
                    <argLine>
                        -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                    </argLine>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjweaver</artifactId>
                        <version>${aspectj.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>


    <dependencies>

        <dependency>
            <groupId>io.github.bonigarcia</groupId>
            <artifactId>webdrivermanager</artifactId>
            <version>3.0.0</version>
        </dependency>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.14.0</version>
        </dependency>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.14.3</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-testng</artifactId>
            <version>2.8.1</version>
        </dependency>

    </dependencies>


Alexandr220v

  • Пользователи
  • *
  • Сообщений: 39
    • Просмотр профиля
    • E-mail
Re: QA Automation(21.09.2019)
« Ответ #33 : Октября 26, 2019, 02:23:39 pm »
<dependency>
            <groupId>com.jayway.restassured</groupId>
            <artifactId>rest-assured</artifactId>
            <version>2.9.0</version>
            <scope>compile</scope>
   </dependency>

<dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-all</artifactId>
            <version>1.3</version>
            <scope>test</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.9.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.6</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.9.6</version>
        </dependency>

Alexandr220v

  • Пользователи
  • *
  • Сообщений: 39
    • Просмотр профиля
    • E-mail
Re: QA Automation(21.09.2019)
« Ответ #34 : Октября 26, 2019, 10:42:52 pm »
Материалы по уроку 6
1. Презентации https://docs.google.com/presentation/d/1fs780YCGtDIsOyil9jTvwFSdxs4-IC7I800BkYkNyA0/edit?usp=sharing
2. Код с тестами по API обновлен https://github.com/qastart220v/automationcourse.git
3.Команды Docker https://habr.com/ru/company/ruvds/blog/440660/