0% нашли этот документ полезным (0 голосов)
6 просмотров7 страниц

Java For QA

Документ содержит инструкции по выполнению четырех заданий, связанных с программированием на Java. Задания включают создание простых программ, работающих с консолью и графическим интерфейсом, а также редактирование конфигурационных файлов и запуск внешних скриптов. Каждое задание требует создания определенных классов и методов, а также использования различных библиотек и инструментов.

Загружено:

Sreenivas Rao
Авторское право
© All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате DOCX, PDF, TXT или читать онлайн в Scribd
0% нашли этот документ полезным (0 голосов)
6 просмотров7 страниц

Java For QA

Документ содержит инструкции по выполнению четырех заданий, связанных с программированием на Java. Задания включают создание простых программ, работающих с консолью и графическим интерфейсом, а также редактирование конфигурационных файлов и запуск внешних скриптов. Каждое задание требует создания определенных классов и методов, а также использования различных библиотек и инструментов.

Загружено:

Sreenivas Rao
Авторское право
© All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате DOCX, PDF, TXT или читать онлайн в Scribd

Пререквизиты:

1. Выполнить установку jdk-7


2. Скачать сборку webСrawler.
3. Выполнить установку IDE ideaIC-12.1.2
4. На рабочем столе создайте папку JavaForQA-#Surname# , дальнейшая работа будет
происходить в этой папке.

Задание 1
1. В корне рабочей директории создайте папку Task1, в которой выполняйте следующее
задание.
2. Создайте текстовый файл с именем HelloWorld и сохраните его в расширении .java
3. Откройте с помощью блокнота.
4. Добавьте в него следующий код:

public class HelloWorld {


public static void main(String[] args) {
[Link]("HelloWorld!");
}
}

5. Создайте в этой же директории два файла: [Link] и [Link], в


которые поместите следующий код:
a. В [Link]:

javac [Link]
pause

b. В [Link]:

java HelloWorld
pause

6. Скомпилируйте программу при помощи файла [Link]


7. Запустите при помощи [Link].
Задание 2
1. В корне рабочей директории создайте папку Task2, в которой выполняйте следующее
задание.
2. По аналогии с предыдущим заданием создайте в папке класс MyCalculator.
3. Добавьте в него конструктор, который при создании объекта будет принимать на вход
следующие параметры:

public MyCalculator(double a, String o, double b)

Как видите, наш конструктор принимает на вход два числа и знак операции между ними. Знак
операции передается в переменной ссылочного типа String, поэтому помните, сравнивать ее
надо при помощи метода equals().

4. Внутрь конструктора добавьте сравнение получаемого знака операции с основными


операциями(“+”, ”-”, ”*”, ”/”)

if ([Link]("+")) {
//TODO
return;
} else if ([Link]("-")) {
//TODO
return;
} else if ([Link]("*")) {
//TODO
return;
} else if ([Link]("/")) {
//TODO
return;
}

5. Создайте в классе методы, которые будут возвращать результаты выполнения необходимых


операций.

Пример метода, который возвращает результат суммирования:

public double sum(double a, double b) {


return a + b;
}

6. Внутри конструктора, вместо //TODO впишите вызовы соответствующих функций.


7. Так как, нам нужно результат выводить на экран, сделайте вызовы функций внутри метода

[Link]();

Также, при выводе результата работы программы, можно добавить данные, которые были
переданы на вход:

[Link](a + " + " + b + " = " + sum(a, b));

8. Добавьте в конструктор вывод ошибки, в том случае, если проверяемый символ не совпал ни
с одним символом операции.
9. В методе main() опишите создание объекта класса MyCalculator. В качестве параметров
конструктора, передавайте на вход значения из массива String[] args, которые передаются в
метод main(String[] args).

Так, как метод main() принимает на вход массив элементов типа String, а принимаем в
конструктор еще и элементы типа double, при создании объекта нужно необходимые элементы
преобразовать в double

new MyCalculator([Link](args[0]), args[1], [Link](args[2]));


10. Добавьте в метод main() проверку входящих данных, а именно, если массив String[] args
имеет длину более 3-х символов, то создаем объект MyCalculator, иначе выводим сообщение
о соответственной ошибке.
11. По аналогии с предыдущим заданием создайте файлы [Link] и
[Link]. Но в файле [Link] после кода java MyCalculator нужно
передать параметры, которые передаются в main(String[] args), например: “1 + 13”
Задание 3
1. В корне рабочей директории создайте папку Task3, в которой выполняйте следующее
задание
2. С помощью IDE создайте проект с именем JavaForQATask3-#Surname#.

Гайд по созданию и запуску проекта можно найти здесь.

3. Создайте класс с именем HelloUIWorld


4. Добавьте в него следующий код:

import [Link].*;

public class HelloUIWorld extends JFrame {


JLabel label1;//глобальный объект класса JLabel который содержит статический текст
public HelloUIWorld() {
super("Hello UI world");//заголовок окна
JFrame jf = new JFrame();//фрейм
JPanel p = new JPanel();//панель
JLabel label1 = new JLabel("Hello UI World");//инициализация переменной
[Link](p);// добавление панели в фрейм
[Link](JFrame.EXIT_ON_CLOSE);//действие при нажатии на крестик
[Link](200, 90);// размер окна
[Link](label1);//добавление на панель переменной label1
[Link](true);// отображение окна
}
public static void main(String[] args) {
HelloUIWorld app = new HelloUIWorld();//создание экземпляра класса окна
}
}

1. Запустите main() метод созданного класса.

Как видите самое главное в нашем окне, это текст «Hello UI World», который добавляется на
панель вызовом метода add() для объекта JPanel. Таким образом, можно добавить в окно
любые объекты, которые мы обычно видим в оконных приложениях.

2. Добавьте, на созданный ранее объект класса JPanel, еще три объекта JLabel и один JTextField,
при инициализации используйте следующие параметры:

Тип Имя Параметр конструктора


JLabel label2 Label2
JLabel label3 Label3
JLabel label4 Label4
JTextField text1 Text1

Процесс создания и добавления объектов на панель аналогичен работе с объектом label1 в


коде, предоставленным в пункте 4.

3. Запустите main() метод созданного класса.

Как видите, JTextField не помещается в наше окно, а при его растягивании все наши объекты
выстраиваются в одну линию. Для того чтоб их выстраивать таким образом как нам нужно,
можно воспользоваться менеджерами компоновки Layout, например GridLayout.

4. Реализуйте работу с менеджером компоновки GridLayout. Для этого примените к созданному


экземпляру класса JPanel метод setLayout(new GridLayout(5, 1)).

В процессе выполнения задания, при необходимости, корректируйте размер окна (при помощи
метода [Link](ширина, высота)).
5. Добавьте на панель объект JButton(кнопка) с именем button1, процесс добавления этого
объекта аналогичен предыдущим.

В данный момент наша кнопка ничего не делает, т.к. мы не описали для нее инструкции.

6. Добавьте следующий метод в свой класс, который будет реагировать на нажатие кнопки:

private void initListeners() {


[Link](new ActionListener() {
public void actionPerformed(ActionEvent a) {
//TODO
}
});
}

Вместо //TODO можно написать любое действие, которое вы хотите, чтоб выполнялось при
нажатии на кнопку

7. С помощью стандартных методов setText и getText сделайте так, чтоб при нажатии на кнопку,
текст, отображаемый в вашем JTextField, отображался в первом JLabel. Для этого:

[Link]([Link]());

8. Примените к своему JFrame методы setLocationRelativeTo(null) и setResizable(false), с


помощью которых можно сделать так, чтобы при открытии, программа отображалась по
центру экрана, и ее размеры нельзя было изменить с помощью растягивания.

[Link](null);
[Link](false);

9. Запустите main() метод созданного класса


Задание 4
В этом задании мы напишем программу, которая будет менять файл [Link], с последующим
запуском webСrawler. Файл [Link] содержит необходимые параметры для запуска и
тестирования с помощью инструмента webСrawler.

1. В корне рабочей директории создайте папку Task4, в которой выполняйте следующее


задание
2. С помощью IDE создайте проект с именем JavaForQATask4-#Surname#.
3. Подключите к нему находящиеся в архиве [Link].

Для того чтоб подключить библиотеки выполните следующие действия:


 Нажмите Ctrl+Alt+Shift+S
 В открывшемся окне перейдите в боковую вкладку Libraries
 Нажмите на [+]
 Выберете Java
 В открывшемся окне выберите папку с библиотеками

4. Создайте класс ConfigEditor.


5. Используя знания, полученные в предыдущем задании, создайте окно как на следующем
скриншоте:

6. Замените текст элементов JLabel, используемых ранее, следующими: [Link], [Link],


[Link], [Link]. Это обязательные параметры для конфигурации webСrawler.

Для считывания параметров с файла [Link] инструмент webСrawler использует


библиотеку taCommon, в которой есть класс Config, отвечающий за взаимодействие с
конфигурационным файлом.

7. Создайте объект класса Config, назовите его myConfig.


8. С помощью метода getString("Параметр") считайте значения нужных параметров с объекта,
созданного в предыдущем пункте, и поместите их в соответствующие JTextField.

Для проверки работы программы распакуйте в корень проекта сборку webСrawler указанную в
пререквизитах.

Для того чтоб изменения которые мы осуществили в поле JTextField были сохранены в
переменную конфигурации myConfig, нам нужно, чтоб при нажатии кнопки [Update] значение
соответствующей переменной изменялось и в myConfig.

9. Добавьте листнеры для кнопок, которые будут изменять значения параметров в вашей
переменной myConfig. Для этого воспользуйтесь методом setString("Параметр", "Значение");
10. Для проверки изменения myConfig выводите содержимое изменяемого параметра в консоль:

[Link]([Link]("Параметр"))
Сейчас программа изменяет значения параметров только в переменной myConfig, но не заносит
изменения в файл [Link], для того чтоб перезаписать файл [Link] воспользуйтесь
FileWriter, который предназначается для записи потоков символов. Помните: после перезаписи
файла, его нужно закрывать (метод close()).

11. В листнерах создайте объекты класса FileWriter, в конструкторах которых, передавайте путь к
[Link], который можно узнать с помощью метода getTestPropertiesFilePath()
12. С помощью метода write(“text”) внесите содержимое вашей переменной myConfig в файл.

Извлечь содержимое myConfig можно при помощи метода getConfig() но при этом не стоит
забывать что нужно привести ее к типу String, в том виде, который был изначально (каждый
параметр с новой строки, без фигурных скобок и запятых) т.к. интересующее нас содержимое
переменной myConfig имеет тип Properties, и хранит параметры в удобном для себя виде,
заменять нужные символы можно с помощью метода replace(“что меняем”, ”на что меняем”)

13. Добавьте кнопку, которая будет запускать [Link], запустить внешний файл можно с
помощью следующей функции:

public static void startRun() throws IOException {


String userDir = [Link]("[Link]");
String[] cmd = new String[] { "[Link]", "/C", "start file:" + userDir + "\\[Link]" };
Process process = [Link]().exec(cmd);
}

14. Вместо четырех кнопок [Update] сделайте одну, которая будет изменять все параметры.

В конце программа должна иметь следующий вид:

15. Запустите main() метод созданного класса.


16. При помощи созданной программы измените значения параметров на те, которые указаны
на скриншоте выше, и обновите содержимое конфигурационного файла [Link] при
помощи кнопки [Update].
17. Запустите webCrawler, при помощи кнопки [Run].

Результаты выполнения автотеста можете увидеть в создавшейся папке result/report/[Link]

Для корректного отображения результатов тестирования открывайте [Link] с


помощью FireFox.

Вам также может понравиться