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

Фотография

не нажимается кнопка Логин, хотя я её нажимал при записи


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

#1 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 15 апреля 2011 - 08:07

Здравствуйте, использую Selenium RC + Eclipse. Зашёл в IDE, записал действие авторизации на сайте:
import com.thoughtworks.selenium.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.util.regex.Pattern;

public class BrowserTest extends SeleneseTestCase {
	@Before
	public void setUp() throws Exception {
		selenium = new DefaultSelenium("localhost", 4444, "*iexplore", "мой сайт");
		selenium.start();
	}

	@Test
	public void testBrowserTest() throws Exception {
		selenium.open("/");
		selenium.click("link=Login");
		selenium.type("login_email", "моя почта");
		selenium.type("login_password", "мой пароль");
		selenium.click("link=Sign In");
		
		}

	@After
	public void tearDown() throws Exception {
		selenium.stop();
	}
}
но при воспроизведении ни в Эксплорере, ни в Фаерфоксе не нажимается кнопка Логин, хотя я её нажимал при записи. Только осваиваю Селениум, буду признателен за помощь. Читал о
selenium.mouseOver(BUTTON_ID);
selenium.mouseDown(BUTTON_ID);
selenium.mouseUp(BUTTON_ID);
вместо BUTTON_ID вставил link=Sign In - не работает
  • 0

#2 stmark

stmark

    Опытный участник

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


Отправлено 15 апреля 2011 - 09:28

но при воспроизведении ни в Эксплорере, ни в Фаерфоксе не нажимается кнопка Логин, хотя я её нажимал при записи. Только осваиваю Селениум, буду признателен за помощь.


1. Стоило всё-таки отдельную тему создать.
2. Покажите пожалуйста исходный код страницы, на котором находится эта не нажимающаяся кнопка.
  • 0

#3 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 20 апреля 2011 - 06:49

Там кнопочка реализована Джава скриптом, не знаю какой конкретно кусок кода за это отвечает. Как это можно узнать?
  • 0

#4 stmark

stmark

    Опытный участник

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


Отправлено 20 апреля 2011 - 07:51

Там кнопочка реализована Джава скриптом, не знаю какой конкретно кусок кода за это отвечает. Как это можно узнать?


Ну если это возможно то киньте исходник всей страницы под спойлер.
  • 0

#5 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 20 апреля 2011 - 08:54

Если я правильно понял - это этот код. Установил ФаерБаг и он мне его подсветил

<a onmousedown="submitForm('frmLoginPopup')" href="javascript:void(0)">Sign In</a>

  • 0

#6 frei_by

frei_by

    Постоянный участник

  • Members
  • PipPipPip
  • 177 сообщений
  • ФИО:Дмитрий

Отправлено 20 апреля 2011 - 09:01

<a onmousedown="submitForm('frmLoginPopup')" href="javascript:void(0)">Sign In</a>

selenium.mouseDown(BUTTON_ID) == onmousedown="submitForm('frmLoginPopup')"
вёрстальщик - умница. Наверное какая-то очень красивая кнопка, которая при нажатии сверкает и переливается цветами радуги.

при действии click - href="javascript:void(0) - заглушка.

Смысл в том, что на мой взгляд должно помочь onmousedown событие.
  • 0

#7 stmark

stmark

    Опытный участник

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


Отправлено 20 апреля 2011 - 09:15

Хотелось бы конечно увидеть то, что сверху этого элемента находится, но тому, что дано используем локатор css=a:contains("Sign In")
Например вот так: selenium.click("css=a:contains(\"Sign In\")") или с комбинацией mouseOver, mouseDown, mouseUp или с clickAt.
  • 0

#8 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 20 апреля 2011 - 11:37

решил не умничать и после ввода пароля симулировал нажатие кнопки Энтер. Логин вроде прошёл, но меня выкидывает на страницу "мой сайт"/session/rpc-login . Мне объяснили, что это что-то не так в Ajax запросах (или что-то в этом роде). Пробовал так, как описано в этой теме http://software-test...um/topic/18640/ :
selenium.mouseOver("link=Sign In");
selenium.clickAt("link=Sign In","2,2");

появляется та же страница "мой сайт"/session/rpc-login.
  • 0

#9 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 28 апреля 2011 - 14:23

import com.thoughtworks.selenium.*;
import org.junit.Before;
import org.junit.Test;

public class BrowserTest extends SeleneseTestCase /*TestCase*/ {
	
	private Selenium selenium;
	
	@Before
	public void setUp() throws Exception {
		selenium = new DefaultSelenium("localhost", 4444, "*iexplore", "мой сайт");
		selenium.start();
	}
			 
	@Test
	public void testBrowserTest() throws Exception {
		selenium.open("/");
		
		
		selenium.click("link=Login");
		selenium.type("login_email", "почта");
		selenium.type("login_password", "пароль");
		//жму на кнопку Sign In 		
		selenium.mouseOver("xpath=id('frmLoginPopup')/x:table[2]/x:tbody/x:tr[1]/x:td[2]/x:span/x:a");
		selenium.mouseDown("xpath=id('frmLoginPopup')/x:table[2]/x:tbody/x:tr[1]/x:td[2]/x:span/x:a");
		}
	
}
в Эксплорере работает, а в остальных та же "мой сайт"/session/rpc-login.
  • 0

#10 Nicko

Nicko

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

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

Отправлено 24 марта 2015 - 13:53

Похожая ситуация.

Использую Selenium IDE. Браузер Мозила.

<a tabindex="0" href="javascript:;" class=".ID-AccountUsers._GADe.ACTION-settings.TARGET-AccountUsers.">
<span class="_GAso._GAOfb"></span>
<div class="_GARd">Управление пользователями</div>
</a>

Пробовал перечисленные выше рекомендации, но не помогает.

Не находит класс, "Управление пользователями".

Буду признателен за помощь.

Сам далек от автоматизации и вообще от тестирования.


  • 0

#11 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 24 марта 2015 - 14:17

Похожая ситуация.

Использую Selenium IDE. Браузер Мозила.

<a tabindex="0" href="javascript:;" class=".ID-AccountUsers._GADe.ACTION-settings.TARGET-AccountUsers.">
<span class="_GAso._GAOfb"></span>
<div class="_GARd">Управление пользователями</div>
</a>

Пробовал перечисленные выше рекомендации, но не помогает.

Не находит класс, "Управление пользователями".

Буду признателен за помощь.

Сам далек от автоматизации и вообще от тестирования.

class="_GARd"

Управление пользователями - это просто текст этого блока


  • 0

#12 Nicko

Nicko

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

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

Отправлено 24 марта 2015 - 14:51

Да. Я понимаю, что это текст. Но это не помогло делу.

Я указал:

<tr>
<td>click</td>
<td>css=div._GARd</td>
<td></td>
</tr>

Но в логе пишет "[error] Element css=div._GARd not found"

Указывал и mouseDown. Так же делал link="Управление пользователями"

Не помогло


  • 0

#13 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 24 марта 2015 - 15:46

 

Да. Я понимаю, что это текст. Но это не помогло делу.

Я указал:

<tr>
<td>click</td>
<td>css=div._GARd</td>
<td></td>
</tr>

Но в логе пишет "[error] Element css=div._GARd not found"

Указывал и mouseDown. Так же делал link="Управление пользователями"

Не помогло

 

 

попробуй так

css=div:contains('Управление пользователями')

  • 0

#14 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 25 марта 2015 - 13:15

а если не поможет, то можно посмотреть на ХТМЛ код и проверить, что этот элемент не находится и iFrame. Не знаю как IDE, но Вебдрайвер плохо с ним работает - все элементы этого фрейма невидимы ему


  • 0


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

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