В тестировании веб-автоматизации повторное использование браузера означает использование открытого экземпляра браузера для нескольких тестовых случаев. Это может значительно повысить эффективность и производительность тестирования, а также снизить потребление ресурсов. Повторное использование браузера часто используется с драйверами браузера, такими как Selenium WebDriver, для лучшего управления окнами и вкладками браузера. Распространенные сценарии повторного использования браузера следующие:
При запуске автоматизации Selenium обычно требуется успешно отсканировать QR-код для входа в систему перед выполнением последующих операций. Чтобы повысить эффективность, вы можете отсканировать QR-код для входа в систему перед запуском скрипта и повторно использовать уже открытое окно браузера при запуске скрипта.
При отладке определенного шага многих тестовых случаев предыдущий N-1 Шаги выполнены успешно, осталось только отладить первую N шаг Чтобы избежать повторного запуска всего скрипта, который займет слишком много времени, мы можем напрямую Повторное. использование браузера работает только первый N шаг.
Повторное использование браузера Характеристикисуществовать В, webdriver Новое окно браузера не создается при запуске, а текущая страница уже открытого браузера используется повторно, что позволяет осуществлять дальнейшие манипуляции с элементами. Этот метод позволяет значительно повысить эффективность выполнения тестовых сценариев.
Преимущества повторного использования браузера
Посетите браузер, чтобы проверить, запущен ли браузер. http://localhost:9222/
Реализация Python
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
option = Options()
option.debugger_address = "localhost:9222"
driver = webdriver.Chrome(options=option)
driver.implicitly_wait(10)
driver.get("https://work.weixin.qq.com/wework_admin/frame")
# Ручное сканирование кода
time.sleep(10)
# Нажмите на Контакты
driver.find_element(By.XPATH,'//*[text()="Адресная книга"]').click()
Java-реализация
importorg.junit.jupiter.api.AfterAll;
importorg.junit.jupiter.api.BeforeAll;
importorg.junit.jupiter.api.Test;
importorg.openqa.selenium.By;
importorg.openqa.selenium.WebDriver;
importorg.openqa.selenium.WebElement;
importorg.openqa.selenium.chrome.ChromeDriver;
importorg.openqa.selenium.chrome.ChromeOptions;
publicclass web_useAgainTest{
staticWebDriverdriver;
@BeforeAll
staticvoidsetup(){
ChromeOptionschromeOptions=newChromeOptions();
chromeOptions.setExperimentalOption("debuggerAddress","localhost:9222");
driver=newChromeDriver(chromeOptions);
}
@AfterAll
staticvoidteardown(){
driver.quit();
}
@Test
voidremote2()throwsInterruptedException{
driver.get("https://work.weixin.qq.com/wework_admin/frame");
//Ручное сканирование кода
Thread.sleep(30000);
WebElementelement=driver.findElement(By.xpath("//*[@class ='index_service_cnt_itemWrap']"));
element.click();
Thread.sleep(1000);
}
}
использовать Повторное использование браузера,Просто отсканируйте QR-код, чтобы войти один раз,Пока окно браузера не закрыто,Вы всегда можете использовать его,Это позволяет избежать необходимости сканировать QR-код каждый раз, когда вы его открываете.
Реализация Python
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
option = Options()
option.debugger_address = "localhost:9222"
driver = webdriver.Chrome(options=option)
driver.implicitly_wait(10)
# driver.get("https://work.weixin.qq.com/wework_admin/frame")
# Ручное сканирование кода
# time.sleep(10)
# driver.find_element(By.XPATH,'//*[text()="Адресная книга"]').click()
# Нажмите, чтобы добавить участников
driver.find_elements(By.XPATH,'//*[text()="Добавить участника"]')[1].click()
Java-реализация
importorg.junit.jupiter.api.AfterAll;
importorg.junit.jupiter.api.BeforeAll;
importorg.junit.jupiter.api.Test;
importorg.openqa.selenium.By;
importorg.openqa.selenium.WebDriver;
importorg.openqa.selenium.WebElement;
importorg.openqa.selenium.chrome.ChromeDriver;
importorg.openqa.selenium.chrome.ChromeOptions;
staticWebDriverdriver;
@BeforeAll
staticvoidsetup(){
ChromeOptionschromeOptions=newChromeOptions();
chromeOptions.setExperimentalOption("debuggerAddress","localhost:9222");
}
@AfterAll
staticvoidteardown(){
driver.quit();
}
@Test
voidremote2()throwsInterruptedException{
driver=newChromeDriver(chromeOptions);
WebElementelement=driver.findElement(By.xpath("//*[text()='Добавить элемент'][1]"));
element.click();
Thread.sleep(1000);
}
Если вам нужно продолжить операцию добавления участников на странице адресной книги, вы можете аннотировать операцию открытия интерфейса и щелчка по адресной книге, а также записать операцию, которую необходимо выполнить.
Повторное использование браузераотносится ксуществоватьзапускать selenium При выполнении программы браузер не открывает новую страницу, а напрямую использует существующую страницу браузера и выполняет операции.