Всем у кого есть мечта работать и играть одновременно!
Нам нужен человек на тестирование видеокарт путем прохождения разных круизисов (и не только) на высоких настройках.
Человек нужен на полный день в офис - по 8 ч. в день с понедельника по пятницу. (поэтому Вам надо не быть учащимся, или учиться по субботам)
Главное знать что такое шейдеры, зачем нужна линейная фильтрация и так далее.
Если Вы уже тестировали 3D-игры и железо и имеете подтверждение в трудовой - у вас больше шансов!
Кому интересно - присылайте резюме и вопросы вот сюда: KPYU3UCbl@mail.ru!!! (только туда)
имеются 2 машины: на одной проект на яве в эклипс, на другой селениум сервер (первой версии), на котором происходит тестирование вебприложения. В целом все нормально работает, но почему-то не вполне корректно происходит клик по ссылке, которая в html виде выглядит как
<td class="MsgBarMsg" nowrap="nowrap">
<span class="StatusBarLetr">Information:</span>The Containers have been scheduled for creation.
(<a onmouseover="callTip('get_op_details',event)" onmouseout="callTip()" href="javascript:open_details('https://bla_bla');">Details</a>)
</td>
Клик происходит следующим образом:
setLocator( "css=a:contains(\"^Details$\")" );
...
commandProcessor.doCommand("click", new String[] {locator,} );
если посмотреть дебаггером при пошаговом проходе, то в doCommand вызывается executeCommandOnServlet("cmd=click&1=css%3Da%3Acontains%28%22%5EDetails%24%22%29"), который в свою очередь вызывает getCommandResponseAsString("cmd=click&1=css%3Da%3Acontains%28%22%5EDetails%24%22%29"), который выглядит следующим образом
protected String getCommandResponseAsString(String command) throws IOException {
String responseString = null;
int responsecode = HttpURLConnection.HTTP_MOVED_PERM;
HttpURLConnection uc = null;
Writer wr = null;
Reader rdr = null;
while (responsecode == HttpURLConnection.HTTP_MOVED_PERM) {
URL result = new URL(pathToServlet);
String body = buildCommandBody(command);
try {
uc = getHttpUrlConnection(result);
uc.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
uc.setInstanceFollowRedirects(false);
uc.setDoOutput(true);
wr = getOutputStreamWriter(uc);;
wr.write(body);
wr.flush();
responsecode = getResponseCode(uc); >>> responsecode равен HttpURLConnection.HTTP_OK, клик успешно совершается, на странице открывается popup окно
if (responsecode == HttpURLConnection.HTTP_MOVED_PERM) {
pathToServlet = uc.getRequestProperty("Location");
} else if (responsecode != HttpURLConnection.HTTP_OK) {
throwAssertionFailureExceptionOrError(uc.getResponseMessage());
} else {
rdr = getInputStreamReader(uc);
responseString = stringContentsOfInputStream(rdr); >>>> responseString = "Timed out after 50000ms", из-за этого commandProcessor.doCommand инициирует exeption и клик засчитывается как неуспешный
}
} finally {
closeResources(uc, wr, rdr);
}
}
return responseString;
}
Вопрос, почему при успешном клике не удается считать responseString и как это можно обойти?
Появилась не очень приятная проблема, прямо мозг выносит, может кто сталкивался.
Проблема в том, что при увеличении нагрузки падает производительность (запросы в единицу времени) без отсутствия объективных причин (время отклика не увеличивается). Немного покопавшись в результатах, обнаружил, что между запросами появляются необъяснимые временные "провалы".
В самом начале теста (3 группы, 3 потока в каждой группе):
Между Request2 и Request1: 1352706126465-1352706126267=198 ms (как раз время выполнения Request1). Между Request3 и Request2: 1352706129851-1352706126465=3386, хотя Request2 выполнялся всего 170 ms.