2020/06 La version Chromium d'Edge est enfin disponible avec une mise à jour Windows. Récemment, dans les tests automatisés E2E, les demandes d'inclusion d'IE ont diminué. Et bientôt même le 1er ** "Je veux faire un test automatique (E2E)" → "Avec Internet Explorer" ** J'espère que cette tendance disparaîtra du monde. Au lieu de cela, ** Edge ** a augmenté.
Exécutons la version Chromium d'Edge sur Mac OS
OS
% sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.5
BuildVersion: 19F101
java
% java -version
openjdk version "11.0.7" 2020-04-14 LTS
OpenJDK Runtime Environment Corretto-11.0.7.10.1 (build 11.0.7+10-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.7.10.1 (build 11.0.7+10-LTS, mixed mode)
Edge
build.gradle
// https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java
compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.59'
// https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager
compile group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '4.0.0'
public class SeleniumTestEnv {
private WebDriver driver;
@BeforeClass
public static void beforeClass() throws Exception {
WebDriverManager.edgedriver().setup();
}
@Before
public void setUp() throws Exception {
driver = new EdgeDriver();
}
@After
public void teardown() {
if (driver != null) {
driver.quit();
}
}
@Test
public void test001() {
driver.get("https://www.humancrest.co.jp");
//Test Code
}
}
C'est une source que je vois souvent, mais ça marche sans penser à rien. C'est une victoire facile. Bien sûr, cela fonctionne sous Windows
Selenium Grid
public class SeleniumTestEnvRemote {
private RemoteWebDriver driver;
@Before
public void setUp() throws Exception {
// Capabilities capabilities = DesiredCapabilities.edge();
MutableCapabilities option = new EdgeOptions();
driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), option);
}
@After
public void teardown() {
if (driver != null) {
driver.quit();
}
}
@Test
public void test001() {
driver.get("https://www.humancrest.co.jp");
String title = driver.getTitle();
String browserName = driver.getCapabilities().getBrowserName();
assertThat(title,is( "Groupe Human Crest"));
assertThat(browserName,is("msedge"));
}
}
En parlant de la source, il n'est pas nécessaire de la réécrire simplement parce que c'est la version Chromium.
Les sources que j'ai écrites pour Edge fonctionneront, et Edge installé sur MacOS
fonctionnera également.
Veuillez noter ci-dessous. ..
Lors de la spécification de Edge avec RemoteWebDriver
DesiredCapabilities capabilities = DesiredCapabilities.edge();
Si vous écrivez, ce sera pour Windows.
Dans le journal de la configuration de Selenium Grid / hub
sur MacOS,
Error forwarding the new session cannot find : Capabilities {browserName: MicrosoftEdge, platform: WINDOWS, version: }
Je lance une erreur
Apparemment, il est défini sur platform: WINDOWS
sans condition.
Ainsi, lors des tests avec Edge du côté Mac,
DesiredCapabilities capabilities = DesiredCapabilities.edge();
capabilities.setPlatform(Platform.MAC);
Ajoutons.
driver.getCapabilities().getBrowserName();
La valeur de retour de est msedge
.
DesiredCapabilities.edge().getBrowserName()
La valeur de retour de est «Microsoft Edge».
Oui, Non! </ Font> En as-tu besoin? ?? C'est peut-être une information, mais ... En jugeant la partie où un traitement spécial est inséré pour chaque navigateur jusqu'à présent
if (Nom du navigateur) then
Avez-vous écrit quelque chose comme ça? ?? Dans mon cas, il n'y a pas un petit héritage du passé, et c'est la raison pour laquelle cela n'a tout simplement pas fonctionné.
Evidemment, lors du lancement d'un nœud Selenium Grid, il est nécessaire de spécifier le pilote Web. En d'autres termes, comme ça
forMacOS
java -jar -Dwebdriver.edge.driver="msedgedriver" selenium-server-standalone-3.141.59.jar -role node -nodeConfig node_config.json
Dans mon cas, je le mets de côté et mets le webdriver de chaque navigateur dans le même dossier que selenium-server-standalone-xxx.jar. Ensuite, Node a joué un rôle sans aucun problème même si je n'ai pas spécifié le webdriver. Cependant, pour la version Chromium Edge, il est obligatoire de spécifier le pilote Web. (Probablement, cela fonctionne comme une référence à MicrosoftWebDriver.exe par défaut. Il démarre simplement le navigateur et s'arrête sans entrer l'URL)
Vous devriez maintenant pouvoir tester Edge installé sur votre Mac OS. (Je n'ai pas écrit grand-chose, mais ww)
Quant à Windows, Microsoft Edge Legacy n'est pas à la hauteur d'IE, mais il est toujours un peu original et ne peut pas fonctionner à 100% sur la même source. Cependant, la version Chromium fonctionne presque sur la même source que Chrome.
Pour les ingénieurs d'automatisation des tests E2E, c'est formidable d'avoir un environnement dans lequel Chrome, Firefox et Edge peuvent fonctionner sur n'importe quel système d'exploitation.
Recommended Posts