Диплом-Разработка системы автоматизированного тестирования
2011-09-19 09:38
Здравствуйте. Обращаюсь за советом опытных людей, возможно кто-то сталкивался с этим.
Я хочу на дипломной работе заняться разработкой собственной системы автоматизированого проектирования. Несколько смущающих фактов:
- Имею опыт только ручного тестирования, и пока что не представляю, как происходит автоматизированное;
- Владею на среднем уровне с++;
Собственно вопросы:
1) сложная ли это задача, и насколько реально сделать ее за год;
2) с чего лучше начать человеку, не знакомому с автоматизированным тестированием вообще;
3) насколько эта задача будет актуальна, либо такой диплом не примут (поскольку уже существует море таких программ)...
---
объект "что тестировать" имеется. Это
Заранее спасибо, надеюсь я правильно изложила вопросы. Пока ничего более конкретного, теряюсь в начинаниях...
Сравнение двух файлов
2011-09-19 11:14
Здравствуйте, вот так я сравниваю два текстовых файла:
Sub Sravnenie_otvet
s = aqFile.Compare("C:\Test\GD\Минобраз.txt", "C:\Test\GD\СравнениеМинобраз.txt")
log.Message(s)
If s = true Then
log.Message("Файлы идентичны")
Else
log.Error("Файлы не идентичны")
End If
End Sub
Если оба файла созданы в один день, то сравнение выдает true. Если файл Минобраз.txt создан, к примеру, 19 сент., а СравнениеМинобраз.txt, к примеру, 18 сент., то сравнение выдает false, хотя текст внутри файлов идентичен абсолютно. Подскажите, пожалуйста, в чем моя ошибка. Спасибо.
P.S.: Мне нужно сравнить на идентичность тексты внутри двух текстовых файлов.
Вход на мой портал осуществляется по https, т.е. приходится каждый раз принимать сертификат
Соответственно кейсы валятся
Дайте подробное описание, как решить эту проблему ?
Планирование тестирования и проектирование тестов
2011-09-19 14:44 В зависимости от проекта, компании, продукта, команды, и многих других факторов, Вы можете использовать тестирование методом свободного поиска или более формальные, скриптовые подходы. Но вне зависимости от подхода к тестированию, оно должно быть планируемым, оптимизированным и управляемым. В противном случае неизбежны хаос, пропуски ошибок, нерациональная трата времени, ресурсов. Если Вы – тест-менеджер или ведущий тестировщик, и Ваша задача – поиск оптимального процесса тестирования, то Вам обязательно будет полезен этот тренинг. На нём мы не просто рассмотрим основные техники планирования, тест-анализа и организации процесса тестирования, но и потренируемся и сможем определить, какие подходы нужны именно Вам.
знание каких-либо языков программирования (желательно Java или php)
желателен (но не обязателен) опыт работы тестировщиком или программистом
Условия:
зп 40000 net белая
гибкий график
молодой веселый коллектив без бюрократии
Резюме жду на pvzubareva@mail.ru
Как динамически менять Aliases в TestComplete?
2011-09-19 16:03
Как динамически менять Aliases в TestComplete?
Например есть такой код: var iexplore;
var page;
iexplore = Aliases.iexplore;
iexplore.ToURL("http://www.google.ru/");
page = iexplore.pageGoogle1;
page.panel.panelFll.linkAds.Click()
...
Нужно менять в зависимости от условий pageGoogle1(По первому условию будет page = iexplore.pageGoogle1 по второму page = iexplore.pageGoogle2 и так далее) , одну и ту же ветку с разным кодом повторять очень не хочется.
Подскажите пожалуйста как это реализовать!
Вакансия: Тестировщик – автоматизатор программ
2011-09-19 16:07
Предприятие, специализирующееся на создании и сопровождении программного обеспечения, объявляет конкурс на вакансию «Тестер – автоматизатор программ».
Требования к кандидатам:
- мужчина до 45 лет (предпочтение будет отдано кандидатам старше 30 лет) с высшим техническим образованием,
- опыт тестирования клиент-серверных приложений от 1 года,
- знакомство с администрированием ОС семейства Windows,
- знание основ SQL и основ СУБД, знакомство с Delphi, VB.
- приветствуется знание СУБД семейства Interbase,
- понятие об ООП, понятие о методологиях разработки ПО,
- приветствуется знание документооборота и систем электронного документооборота,
- умение самостоятельно создавать артефакты процесса тестирования. Участие в выработке и анализе требований к продукту, в планировании работ,
- умение чётко и грамотно излагать свои мысли на бумаге на русском и
украинском языках. Чтение технической литературы на английском.
Обязанности:
- тест дизайн,
- разработка и поддержка автотестов,
- анализ результатов тестирования,
- предоставление отчетов о тестировании,
- сопровождение дефектов,
- связанные обязанности в рамках основных:
обзор, анализ и корректировка проектной документации,
анализ требований,
разработка требований и спецификаций.
Условия работы:
- полный рабочий день
- официальное трудоустройство, з/п
- соц.гарантии согласно КЗоТу Украины.
Просьба отправлять резюме на e-mail gelios.cv@ukr.net с указанием в теме письма названия вакансии и желательного уровня заработной платы.
Клик по ячейке в XtraGrid.GridControl
2011-09-19 17:05
TC 7.52
Приложение на C# c DevExpress 9.1
Имеется таблица в гриде. Грид – наследник «DevExpress.XtraGrid.GridControl»
Класс прописан в Tools>Default Project Properties>Project>Object Mapping. И ассоциируется с этим типом
В списке свойств Extended появились новые свойства. При записи действий скрипт пишется код, в котором упоминается номер строки и название столбца. Однако, этот же код TC не может выполнить:
var layoutControl;
var dfXtraGrid;
layoutControl = Aliases.mercury.MdiView.MdiClient.GuiMainWindow.layoutControl1.tabMain.XtraTabPage.Main.layoutControl1;
layoutControl.treeMain.wChildView(0).wChildView(1).ClickCell(2, "treeListColumn1");
dfXtraGrid = layoutControl.grdxMain;
dfXtraGrid.ClickCellXY(0, "Дата создания", 48, 9);
На этапе Клика TC ожидает какого-то окна и клик не происходит.
Пишет «Waiting Until Overlapped window becomes visible»
В логе записи:
Overlapping window
There was an attempt to perform an action at point (406, 375), which is overlapped by another window
В разделе Picture он показывает как раз ту табличку, по ячейке которой надо щёлкать
Если кто сталкивался, подскажите пожалуйста, что я делаю не так.
<?php
require_once 'Testing/Selenium.php';
require_once 'PHPUnit/Autoload.php';
class GoogleTest extends PHPUnit_Framework_TestCase
{
private $selenium;
public function setUp()
{
$this->selenium = new Testing_Selenium("*googlechrome", "http://www.google.ru/");
$this->selenium->start();
$this->selenium->setSpeed(0); // на эту строчку коситься не надо, без нее тоже самое
}
public function tearDown()
{
$this->selenium->stop();
}
public function testGoogle()
{
file_put_contents("/var/www/phpunit/unittest.log", 'speed: '.$this->selenium->getSpeed().PHP_EOL, FILE_APPEND);
$this->selenium->waitForPageToLoad(0); // на эту строчку коситься не надо, без нее тоже самое
$this->selenium->open('/');
file_put_contents("/var/www/phpunit/unittest.log", data('c').PHP_EOL, FILE_APPEND);
$this->selenium->type('q', "Hello world");
file_put_contents("/var/www/phpunit/unittest.log", data('c').PHP_EOL, FILE_APPEND);
//$this->selenium->click("btnG");
//$this->selenium->waitForPageToLoad(1000);
//$this->assertRegExp("/Поиск в Google/", $this->selenium->getTitle());
file_put_contents("/var/www/phpunit/unittest.log", $this->selenium->getTitle().PHP_EOL, FILE_APPEND);
}
}
?>
Заметил, что между вызовами
$this->selenium->open('/');
$this->selenium->type('q', "Hello world");
$this->selenium->click("btnG");
крайне длинные паузы, вроде бы одинаковые, примерно по семь минут.
Обсуждалось здесь: http://software-testing.ru/forum/topic/19931/ , но итоги оттуда не извлечь.
Если выполняю тесты в консоли, то cmd=getNewBrowserSession&1=*googlechrome&2=http://www.google.ru выполняется минуты три,
cmd=open&1=http://www.google.ru/&sessionId=123 - мгновенно,
cmd=type&1=q&2=selenium&sessionId=46058020a6074be4931e700d5133e630 - тоже мгновенно. Т.е. собственно терпимо, но выполнение через пхп крайне медленное.
Вот пример лога сервера:
Цитата
18:00:06.557 INFO - Command request: getNewBrowserSession[*googlechrome, http://www.google.ru/] on session null
18:00:06.557 INFO - creating new remote session
18:00:06.558 INFO - Allocated session 2f2ff938fa654351baf9512d45c44de5 for http://www.google.ru/, launching...
18:00:06.558 INFO - Launching Google Chrome...
18:00:09.017 INFO - Got result: OK,2f2ff938fa654351baf9512d45c44de5 on session 2f2ff938fa654351baf9512d45c44de5
18:00:13.776 INFO - Couldn't proxy to http://eizxivazom/ because host not found
18:00:13.788 INFO - Couldn't proxy to http://iesxxssmht/ because host not found
18:00:13.788 INFO - Couldn't proxy to http://ayrlhulbxl/ because host not found
18:01:09.050 INFO - Command request: setTimeout[0, ] on session 2f2ff938fa654351baf9512d45c44de5
18:01:09.056 INFO - Got result: OK on session 2f2ff938fa654351baf9512d45c44de5
18:02:09.108 INFO - Command request: getSpeed[, ] on session 2f2ff938fa654351baf9512d45c44de5
18:02:09.108 INFO - Got result: OK,0 on session 2f2ff938fa654351baf9512d45c44de5
18:03:09.170 INFO - Command request: waitForPageToLoad[0, ] on session 2f2ff938fa654351baf9512d45c44de5
18:03:10.105 INFO - Got result: OK on session 2f2ff938fa654351baf9512d45c44de5
18:04:10.163 INFO - Command request: open[/, ] on session 2f2ff938fa654351baf9512d45c44de5
18:04:10.169 INFO - Got result: OK on session 2f2ff938fa654351baf9512d45c44de5
А $this->selenium->type('q', "Hello world"); так вообще уже 11 минут не выполняется.
Подскажите, пожалуйста, в чем проблема?
Спасибо.
QTP на Windows 7 или Ubuntu
2011-09-19 18:26
Подскажите - можно ли установить и юзать без проблем QTP на Windows 7 или Ubuntu (wine) ?
Я выбираю их по Xpath, записываю их названия и мне нужно узнать саму ссылку в формате www.linktext.com. Наверное можно получить этот адрес, но я незнаю как
public class LoginPageTwo {
public static void main(String[] orgs) throws Exception {
//WebDriver driver = new FirefoxDriver();
//WebDriver driver = new InternetExplorerDriver();
//WebDriver driver = new OperaDriver();;
//WebDriver driver = new ChromeDriver();
//WebDriver driver = new OperaDriver();
Данный тест запускается только в ФФ, если раскомитим соответственно WebDriver driver = new FirefoxDriver()
В остальных браузерах он не запускается, в хроме возникает такая ошибка и хром не запускается :
Exception in thread 'main' java.lang.IllegalStateException: The path to the chromedriver executable must be set by the webdriver.chrome.driver system property; for more information, see http://code.google.com/p/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://code.google.com/p/chromium/downloads/list
at com.google.common.base.Preconditions.checkState(Preconditions.java:172)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:85)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:85)
at com.example.tests.LoginPageTwo.main(LoginPageTwo.java:21)
Exception in thread "main" org.openqa.selenium.WebDriverException: Unexpected error launching Internet Explorer. Protected Mode must be set to the same value (enabled or disabled) for all zones. (WARNING: The server did not provide any stacktrace information); duration or timeout: 165 milliseconds
Build info: version: '2.6.0', revision: '13840', time: '2011-09-13 14:56:25'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.6.0_26'
Driver info: driver.version: InternetExplorerDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:147)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:113)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:397)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:95)
at org.openqa.selenium.ie.InternetExplorerDriver.setup(InternetExplorerDriver.java:93)
at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:50)
at com.example.tests.LoginPageTwo.main(LoginPageTwo.java:20)
Required Configuration
On IE 7 or higher on Windows Vista or Windows 7, you must set the Protected Mode settings for each zone to be the same value. The value can be on or off, as long as it is the same for every zone. To set the Protected Mode settings, choose "Internet Options..." from the Tools menu, and click on the Security tab. For each zone, there will be a check box at the bottom of the tab labeled "Enable Protected Mode".
The browser zoom level must be set to 100% so that the native mouse events can be set to the correct coordinates.
Подскажите пожалуйста в чем проблема. Кто-нибудь использует 7-ку и Webdriver. Просто на xp и в линуксе запускается и в хроме и в ИЕ. А в 7-ке никак :-(
IE9+WEB_Driver=WARNING: The server did not provide any stacktrace info
2011-09-19 20:09
Здравствуйте.
Я уже очень долго не могу решить следующую проблему.
Тесты работают в FF, но в IE ...я наблюдаю следующее: страница сайта загружается и начинается поиск элемента на странице, например какой-либо кнопки по идентификатору и в этот момент тест падает и я получаю следующий отчет об ошибке:
Unable to find element with xpath == //div[@class='GameEnd_EGPNow']/a (WARNING: The server did not provide any stacktrace information)
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_26'
Driver info: driver.version: EventFiringWebDriver
...
TearDown : NUnit.Framework.AssertionException : Expected: False
But was: True
--TearDown
в NUnit.Framework.Assert.That(Object actual, IResolveConstraint expression, String message, Object[] args)
в NUnit.Framework.Assert.IsFalse(Boolean condition)
в QATEST.BaseTest.TeardownTest() в BaseTest.cs: line 46 /*Assert.IsFalse(isFail);*/