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

Selenium WebDriver: полное руководство
онлайн, начало 19 октября
Логи как инструмент тестировщика
онлайн, начало 22 октября
Первый Онлайн ИНститут Тестировщиков
онлайн, начало 15 октября
Тестирование REST API
онлайн, начало 22 октября
Фотография

Автоматичекий заход на почту

java selenium gmail geckodriver

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 Vikonder

Vikonder

    Новый участник

  • Members
  • Pip
  • 30 сообщений

Отправлено 07 Декабрь 2017 - 20:03

Задача:  Автоматический зайти на почту

 

Пример кода:

import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class autoLogin {
public static void main(String[] args) {

// Create a new instance of the Firefox driver
WebDriver driver = new FirefoxDriver();
// Load local geckodriver
System.setProperty("webdriver.gecko.driver", "C:/Selenium/");
// Wait For Page To Load
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
// Navigate to URL
driver.get("https://mail.google.com/");
// Maximize the window.
driver.manage().window().maximize();
// Enter UserName
driver.findElement(By.id("Email")).sendKeys(" YOUR USER NAME");
// Enter Password
driver.findElement(By.id("Passwd")).sendKeys("YOUR PASSWORD");
// Wait For Page To Load
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
// Click on 'Sign In' button
driver.findElement(By.id("signIn")).click();
//Click on Compose Mail.
driver.findElement(By.xpath("//div[@class='z0']/div")).click();
// Click on the image icon present in the top right navigational Bar
driver.findElement(By.xpath("//div[@class='gb_1 gb_3a gb_nc gb_e']/div/a")).click();
// Click on 'Logout' Button
driver.findElement(By.xpath("//*[@id='gb_71']")).click();
// Close the browser.
driver.close();
}
}

Проблема: Разные реализации подобного сценария, приводят к открыванию Firefox страницы...

                   и на этом всё останавливается...

 

Прикрепленный файл  Untitled.jpg   22,99К   0 Количество загрузок:

 

Что я упускаю или может env не настроено, как положено?

 

Windows10 - IntelliJ 2017.2.6


  • 0

#2 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 751 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 08 Декабрь 2017 - 07:45

сначала
System.setProperty
Потом
WebDriver driver = new FirefoxDriver();

  • 0

#3 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 561 сообщений


Отправлено 08 Декабрь 2017 - 07:59

0. Сообщение выше.

1. Путь не полный до драйвера - System.setProperty("webdriver.gecko.driver", "C:/Selenium/");

2. Указывайте какие версии вы вообще используете Селениума, ФаерФокса.

3. Указывайте сообщения об ошибке (и не плохо самому учиться их читать), что получаете в консоли, чтобы хорошо было понятно в чём именно проблема.


  • 0

#4 Vikonder

Vikonder

    Новый участник

  • Members
  • Pip
  • 30 сообщений

Отправлено 08 Декабрь 2017 - 09:07

Windows 10 -64 bit
selenium jar-3.8.1
Gecko driver v0.19.1

Selenium WebDriver 3.8.1

JUnit 4.12

FF 52.5 (64bit)

 

Похоже на какую-то глобальную несостыковку версий...

Проблема общая, т.к.  всё стопорится после открытия FF

 

Для кода выше, после force закрытия FF ("X")  --- всё застревает на прослушивании порта 2828

1512723789159	geckodriver	INFO	geckodriver 0.19.1
1512723789168	geckodriver	INFO	Listening on 127.0.0.1:8430
1512723789904	mozrunner::runner	INFO	Running command: "C:\\Program Files\\Mozilla Firefox\\firefox.exe" "-marionette" "-profile" "C:\\Users\\Vadiks\\AppData\\Local\\Temp\\rust_mozprofile.ov6qKHNLm9lJ"
1512723790814	Marionette	INFO	Listening on port 2828  /// -----  здесь я вырубил FF ----
Exception in thread "main" org.openqa.selenium.WebDriverException: Process unexpectedly closed with status: 0
Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T18:33:54.468Z'
System info: host: 'VADIKS', ip: '10.0.0.3', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_151'
Driver info: driver.version: FirefoxDriver
remote stacktrace: stack backtrace:
   0:           0x47e934 - <no info>
   1:           0x47f0a3 - <no info>
   2:           0x442649 - <no info>
   3:           0x449cc3 - <no info>
   4:           0x42a890 - <no info>
   5:           0x406f5e - <no info>
   6:           0x40cfc9 - <no info>
   7:           0x6bef19 - <no info>
   8:           0x420756 - <no info>
   9:           0x6b96e0 - <no info>
  10:     0x7ffb172f8102 - BaseThreadInitThunk
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$new$0(W3CHandshakeResponse.java:57)
	at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$getResponseFunction$2(W3CHandshakeResponse.java:104)
	at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:123)

  • 0

#5 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 561 сообщений


Отправлено 08 Декабрь 2017 - 09:42

Для версии такого драйвера нужен Firefox 55.0 или выше

И битность драйвера и браузера должны совпадать.


  • 1

#6 Vikonder

Vikonder

    Новый участник

  • Members
  • Pip
  • 30 сообщений

Отправлено 08 Декабрь 2017 - 14:40

Спасибо, добрый человек....  Выйти из этого замкунутого круга удалось downgrade geckodriver --> 0.17

 

Проблема, которая осталась, то что Firefox (или GMAIL в целом) поменял типы идентификаторов на многие элементы, включая password,

сделав последний скрытым и метод driver.findElement(By.id("password")).sendKeys("<password>");  не работает

 

поэтому пройдя идентификацию юзера,

 

получаю Exception

1512742783763	geckodriver	INFO	Listening on 127.0.0.1:17024
1512742784511	geckodriver::marionette	INFO	Starting browser C:\Program Files\Mozilla Firefox\firefox.exe with args ["-marionette"]
1512742785425	Marionette	INFO	Listening on port 65036
1512742785549	Marionette	WARN	TLS certificate errors will be ignored for this session
Dec 08, 2017 4:19:46 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
Exception in thread "main" org.openqa.selenium.ElementNotInteractableException: Element is not visible

Код объекта:

 

Прикрепленный файл  password.jpg   30,64К   0 Количество загрузок:

<input class="whsOnd zHQkBf" jsname="YPqjbf" autocomplete="current-password" spellcheck="false" tabindex="0" aria-label="Enter your password" name="password" autocapitalize="off" autocorrect="off" dir="ltr" data-initial-dir="ltr" data-initial-value="" badinput="false" type="password">

<div jsname="YRMmle" class="AxOyFc snByac" aria-hidden="true">Enter your password</div>

Как можно сделать корректную обработку hidden элементов?


  • 0

#7 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 561 сообщений


Отправлено 08 Декабрь 2017 - 14:46

Кликните чуть выше по Дому, затем сендкейз.


  • 0

#8 Vikonder

Vikonder

    Новый участник

  • Members
  • Pip
  • 30 сообщений

Отправлено 08 Декабрь 2017 - 15:39

Кликните чуть выше по Дому, затем сендкейз.

 

Усли вы имеете ввиду это

 

Прикрепленный файл  DOM.jpg   181,65К   1 Количество загрузок:

 

то там нет метода sendKeys

 

или я не понял о чем речь...


  • 0


Selenium 2.0: стартовый уровень
онлайн, начало 9 ноября
Программирование на Java для тестировщиков
онлайн, начало 12 октября
Автоматизация функционального тестирования
онлайн, начало 5 октября
Selenium WebDriver: полное руководство
онлайн, начало 19 октября




Темы с аналогичным тегами java, selenium, gmail, geckodriver

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале