Перейти к содержимому

Mevmix

Регистрация: 03 мар 2014
Offline Активность: 07 сен 2016 09:49
-----

Мои темы

Паралельный запуск тестов в разных браузерах

05 июля 2016 - 18:30

Добрый день или вечер.

Использую MS VS2013, Selenium WD 2.53.1, Nunit 3.4.0

вот пример запуска тестов параллельно и в разных браузерах.

    //таких классов 3: GoogleTest1, GoogleTest2, GoogleTest3
    [TestFixture]
    [Parallelizable]
    public class GoogleTest1 : BaseTest
    {
        [Test]
        [TestCaseSource(typeof(BaseTest), "BrowserToRun")]
        public void OpenGooglePage(String browserName)
        {
            SetUp(browserName);
        }

    }
    public class BaseTest
    {
        protected IWebDriver _driver;

        public static IEnumerable<String> BrowserToRun()
        {
            String[] browsers = TestResources.browsers.Split(',');

            foreach (String b in browsers)
            {
                yield return b;
            }
        }

        public void SetUp(String browserName)
        {
            _driver = StartBrowser(browserName);
            _driver.Manage().Window.Maximize();
            _driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(20));
            _driver.Url = @"http://www.google.com";
        }

        private IWebDriver StartBrowser(string browser)
        {
            switch (browser)
            {
                case "Firefox":
                    return new FirefoxDriver();
                case "IE":
                    return new InternetExplorerDriver();
                case "Chorme":
                    return new ChromeDriver();
                default:
                    throw new ArgumentException(String.Format(@"This browser not valid: {0}", browser), "WebDriverOptions.BrowserName");
            }
        }

        [TearDown]
        public void TearDown()
        {
            _driver.Quit();
        }
    }

Так же есть файл TestResources.resx, в кортом строчка.

browsers = Chorme,Firefox,IE

Вопрос следующего плана, в тестах приходится дергать какждый раз метод SetUp, что как мне кажется немного не удобно, есть ли еще какие то возможности запуска одного и того же теста в разных браузерах.

Спасибо.


Процесс атовматизации с нуля.

04 августа 2015 - 09:51

Добрый день!!! Мой вопрос больше относится к общему - Как с нуля построить процесс автоматизации.

Заказчику необходимо с нуля наладить процесс автоматизации. К сожалению этим никогда не занимался с нуля и есть сложности в понимании все ли учту при построении данного процесса.

Инструменты для себя определил: Java (TestNG/JUnit), Maven, CI Jankins (может быть TeamCity).

Понятно что будет и написание ТК, согласование с заказчиком, реализация автотестов.

Но хотелось бы спросить более опытных людей, что стоит еще предусмотреть, какие могут быть проблемы в самом процессе.

поделитесь пожалуйста опытом и советом.

Спасибо!!!!


selenide + jetty maven test не стартует тест

19 июля 2015 - 15:53

при запуске теста через maven test

тест не запускается, при запуске браузера выдает ошибку, в строке браузера localhost:8080

Предполагаю, selenide RemoteWebDriver и jetty используют один порт и из-за этого нет перехода на ссылку.

Может кто сталкивался с таким как исправить?

спасибо

            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>9.2.10.v20150310</version>
                <configuration>
                    <webAppSourceDirectory>${project.build.directory}/site/allure-maven-plugin</webAppSourceDirectory>
                    <stopKey>stop</stopKey>
                    <stopPort>1234</stopPort>
                </configuration>
            </plugin>
    @BeforeTest
    public void setUp(){
        Configuration.browser = System.getProperty("browser", "firefox");
        Configuration.baseUrl = System.getProperty("baseUrl", BASE_URL);
        env = new Properties();
        RemoteWebDriver remote = (RemoteWebDriver) getWebDriver();
        env.setProperty("Browser", remote.getCapabilities().getBrowserName());
        env.setProperty("Browser Version", remote.getCapabilities().getVersion());
        env.setProperty("Platform", remote.getCapabilities().getPlatform().name());
        env.setProperty("Platform version", remote.getCapabilities().getPlatform().getMajorVersion() + "." +
                remote.getCapabilities().getPlatform().getMinorVersion());
        env.setProperty("Url", Configuration.baseUrl);

    }

mvn test не стартуют

18 июля 2015 - 21:00

Добрый день!!! Второй день мучаюсь над задачей и никак не получается.

Maven 3.3.3

Idea 14.1.4

selenium wd 2.46.0

testng 6.8.8

Вообщем при запуске mvn test - запуск тестов не происходит - http://prntscr.com/7u92pf

Ошибки нет, но и запуска нет

прилагаю pom файл

Idea переустанавливал, удалял репозиторий м2, переменный среды все прописаны.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>test</groupId>
    <artifactId>demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <allure.version>1.4.11</allure.version>
        <aspectj.version>1.8.5</aspectj.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>2.46.0</version>
        </dependency>
        <dependency>
            <groupId>ru.yandex.qatools.allure</groupId>
            <artifactId>allure-testng-adaptor</artifactId>
            <version>${allure.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-all</artifactId>
            <version>1.3</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.16</version>
                <configuration>
                    <testFailureIgnore>true</testFailureIgnore>
                    <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>

            <!--Needed only to show reports locally. Run jetty:run and
            open localhost:8080 to show the report-->
            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>9.2.10.v20150310</version>
                <configuration>
                    <webAppSourceDirectory>${project.build.directory}/site/allure-maven-plugin</webAppSourceDirectory>
                    <stopKey>stop</stopKey>
                    <stopPort>1234</stopPort>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <reporting>
        <excludeDefaults>true</excludeDefaults>
        <plugins>
            <plugin>
                <groupId>ru.yandex.qatools.allure</groupId>
                <artifactId>allure-maven-plugin</artifactId>
                <version>2.0</version>
            </plugin>
        </plugins>
    </reporting>

</project>

Тест по сути очень простой

    @Test
    public void tester(){
        _driver = new FirefoxDriver();
        _driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        _driver.manage().window().maximize();
        _driver.get("http://google.com");
        _driver.findElement(By.name("q")).sendKeys(" bla bla bla");
        _driver.quit();
    }

Запуск определенных тестов после коммита

14 июля 2015 - 20:29

Всем привет!!! Для разработчиков непроходимо провести автоматизацию,

но тесты надо запускать только по тому функционалу, который изменялся(по которому делали коммит).

Кто нибудь сталкивался с такими? подскажите пожалуйста.

Инструмент/язык и тд пока не выбран точно для разработки, но будет:

Selenium WD + nUnit + C# + CI TeamCity

или 

Selenium WD + jUnit/TestNG + Java + CI Jenkins/TeamCity

 

Буду очень благодарен за совет.