• Как сделать тесты в тесте?

    @koryapin Автор вопроса
    сергей кузьмин, я согласен. Как переделать?
  • Как сделать тесты в тесте?

    @koryapin Автор вопроса
    Вот более конкретно

    package Base;
    
    import io.github.bonigarcia.wdm.WebDriverManager;
    import org.junit.jupiter.api.AfterEach;
    import org.junit.jupiter.api.BeforeAll;
    import org.junit.jupiter.api.BeforeEach;
    import org.openqa.selenium.By;
    import org.openqa.selenium.PageLoadStrategy;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.chrome.ChromeOptions;
    import org.openqa.selenium.support.ui.ExpectedConditions;
    import org.openqa.selenium.support.ui.WebDriverWait;
    
    import java.util.concurrent.TimeUnit;
    
    import static Common.Configuration.BASE_URL;
    
    public abstract class BaseUITest {
    
        protected static WebDriver driver;
    
        @BeforeAll
        public static void setUp() {
            WebDriverManager.chromedriver().setup();
        }
    
        @BeforeEach
        public void beforeTest() {
            ChromeOptions options = new ChromeOptions();
            options.addArguments("--disable-notifications");
            options.addArguments("--disable-popup-blocking");
            options.addArguments("--start-maximized");
            options.setPageLoadStrategy(PageLoadStrategy.NORMAL);
    
            driver = new ChromeDriver(options);
    
    
            driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
            driver.get(BASE_URL);
        }
    
        @AfterEach
        public void tearDown() {
            driver.quit();
        }
    
    }


    package Features.Interface;

    import Base.BaseUITest;
    import Common.Configuration;
    import Pages.AuthorizationPage;
    import io.qameta.allure.Feature;
    import io.qameta.allure.Severity;
    import io.qameta.allure.SeverityLevel;
    import org.junit.jupiter.api.*;

    @TestMethodOrder(MethodOrderer.OrderAnnotation.class)
    @Feature("Conductor")

    public class ConductorTest extends BaseUITest {

    @Test
    @Order(1)
    @DisplayName("Добавление навыка")
    @Severity(SeverityLevel.CRITICAL)
    public void AddingSkill() {
    new AuthorizationPage(driver)
    .AuthoriseScenario(Configuration.LOGIN, Configuration.PASSWORD)
    .clickFirstAssistantCard()
    .hoverMouseSkillsSection()
    .clickPlusButtonSkill()
    .clickNameNavElement()
    .clearNameNavElement()
    .pause(1)
    .inputNameNavElement("Навык тест")
    .pushEnter()
    .pause(3)
    .checkAssertSkill();
    }

    @Test
    @Order(2)
    @DisplayName("Переименование навыка")
    @Severity(SeverityLevel.TRIVIAL)
    public void RenamingSkill() {
    new AuthorizationPage(driver)
    .AuthoriseScenario(Configuration.LOGIN, Configuration.PASSWORD)
    .clickFirstAssistantCard()
    .hoverMouseSkillsSection()
    .clickSkillsSection()
    .pushRightMouseButtonExplorer()
    .clickContextButton2()
    .inputNewNameElement("Навык тест новый")
    .pushEnterRename()
    .pause(3)
    .checkNewNameSkill();
    }

    @Test
    @Order(3)
    @DisplayName("Открытие навыка")
    @Severity(SeverityLevel.CRITICAL)
    public void OpeningSkill() {
    new AuthorizationPage(driver)
    .AuthoriseScenario(Configuration.LOGIN, Configuration.PASSWORD)
    .clickFirstAssistantCard()
    .hoverMouseSkillsSection()
    .clickSkillsSection()
    .pushRightMouseButtonExplorer()
    .clickContextButton3()
    .checkOpenWindowSkill();
    }



    Я бы хотел вынести шаги

    new AuthorizationPage(driver)
    .AuthoriseScenario(Configuration.LOGIN, Configuration.PASSWORD)
    .clickFirstAssistantCard()

    и не выполнять их при каждом тесте

    а грубо говоря перейти в ассистента, выполнить в нем тесты и закрыть браузер
  • Сложные CSS selector как написать?

    @koryapin Автор вопроса
    Еще пример и вопрос: как написать CSS для элемента под номером 1 используя первую часть класса "context-menu-item"?
    61462930cb7de766849335.jpeg
  • Сложные CSS selector как написать?

    @koryapin Автор вопроса
    archelon, я использую nth-child и nth-of-type но не все элементы могу найти
  • Сложные CSS selector как написать?

    @koryapin Автор вопроса
    Как видно в названии класса в кнопке несколько классов, я хочу использовать только первый, так как остальные могут меняться, а мне не хочется плодить локаторы под каждый элемент. Потому хочу использовать CSS. Если кто знает как использовать XPATH для первой части названия класса, скажите.
  • Сложные CSS selector как написать?

    @koryapin Автор вопроса
    Ankhena, nth-child не могу разобраться.
    Вот с xpath просто

    "//*[@class="two"]"
    "(//*[@class="two"])[2]"
    "(//*[@class="two"])[3]"
    "(//*[@class="two"])[4]"
    "(//*[@class="two"])[5]"
    "(//*[@class="two"])[6]"

    Как прописать так же в CSS?