Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как вывести в файл результат тестов Selenium? / 5 сообщений из 5, страница 1 из 1
10.05.2016, 08:04
    #39232052
alik-its
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести в файл результат тестов Selenium?
Здравствуйте, коллеги!

Задача - вывести результаты перехвата событий теста в файл.
Реализовал так, как здесь .

Класс-слушатель выглядит так.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
public class WebDriverLogger extends AbstractWebDriverEventListener {
	private static final Logger l=LoggerFactory.getLogger(WebDriverLogger.class);

	@Override
	public void afterNavigateTo(String arg0, WebDriver arg1) { l.info("Переход на "+arg0); }

	@Override
	public void afterChangeValueOf(WebElement arg0, WebDriver arg1) { l.info("Изменено значение: "+elementDescription(arg0)); }

	@Override
	public void afterClickOn(WebElement arg0, WebDriver arg1) { l.info("Выполнен клик: "+elementDescription(arg0)); }

	@Override
	public void onException(Throwable arg0, WebDriver arg1) { l.error("Возникло исключение: ", arg0); }
	
	private String elementDescription(WebElement el) {
		String description="Тэг "+el.getTagName();
		if(el.getAttribute("id")!=null) description+=", id="+el.getAttribute("id");
		if(el.getAttribute("name")!=null) description+=", name="+el.getAttribute("name");
		description+=" ('"+el.getText()+"')";
		return description;
	}
}



Также есть класс-лоудер, который выглядит так.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
public class TestLoader extends ClassLoader {
	private String path;
	
	TestLoader(String p, ClassLoader prnt) { 
		super(prnt);
		path=p;
	}
	
	@Override
	public Class<?> loadClass(String name) throws ClassNotFoundException {
		try {
			byte[] b=getClassData(path+"\\"+name+".class");
			return defineClass(name, b, 0, b.length);
		} catch(Exception e) {
			return super.loadClass(name);
		}
	}
	
	private byte[] getClassData(String fileName) throws IOException {
		InputStream is=new FileInputStream(fileName);
		long size=new File(fileName).length();
		if(size<=0) {
			is.close();
			return null;
		}
		else if(size>Integer.MAX_VALUE) throw new IOException("Слишком большой размер класса! Too long class size!");
		
		byte[] buffer=new byte[(int) size];
		int offset=0, numRead=0;
		while((offset<buffer.length)&&((numRead=is.read(buffer, offset, buffer.length-offset))>=0)) offset+=numRead;
		
		if(offset<buffer.length) throw new IOException("Файл "+fileName+" считан не полностью! Could not completely read file "+fileName+"!");
		
		is.close();
		
		return buffer;
	}
}



Логика: класс-лоудер ищет вокруг себя тестовые классы и запускает их по очереди.
Мне нужно рядом с запускающим классом положить текстовый файл типа [Имя_тестового_класса]_[дата]_[время].log,
в котором будет описан перехват событий селениум-теста.

Наверное, ответ на поверхности, но мой опыт не позволяет его увидеть.
...
Рейтинг: 0 / 0
10.05.2016, 09:25
    #39232094
alik-its
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести в файл результат тестов Selenium?
Похоже, очень глупый вопрос я задал.
...
Рейтинг: 0 / 0
10.05.2016, 14:56
    #39232472
alik-its
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести в файл результат тестов Selenium?
Это значит с "Селениумом" никто не работал или я фигню спрашиваю?
...
Рейтинг: 0 / 0
10.05.2016, 15:20
    #39232497
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести в файл результат тестов Selenium?
alik-itsили я фигню спрашиваю?
Или просто забыл задать вопрос. Одна констатация фактов.
...
Рейтинг: 0 / 0
10.05.2016, 15:31
    #39232513
alik-its
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести в файл результат тестов Selenium?
Пока ждал ответ на незаданный, как мне сказали, вопрос, уже всё и сам сделал.

У меня не получалось вывести результаты в заданный файл.
Сейчас всё работает.

Спасибо всем за внимание (просмотры, имею в виду).
:)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как вывести в файл результат тестов Selenium? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]