hw4: finalize selenoid and ansible workflow with citrus tests
This commit is contained in:
38
ansible/roles/test_runner/tasks/main.yml
Normal file
38
ansible/roles/test_runner/tasks/main.yml
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
- name: Install Java and Maven for test execution
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- openjdk-21-jdk
|
||||
- maven
|
||||
state: present
|
||||
update_cache: true
|
||||
when: test_runner_execute_mode == "target"
|
||||
|
||||
- name: Run UI smoke test via Selenoid endpoint
|
||||
ansible.builtin.command:
|
||||
cmd: >
|
||||
mvn
|
||||
"-Dexecution.mode=selenoid"
|
||||
"-Dbrowser={{ test_runner_browser }}"
|
||||
"-Dbrowser.version={{ selenoid_chrome_versions[0] }}"
|
||||
"-Dselenoid.url=http://{{ (ansible_host | default('127.0.0.1')) if test_runner_execute_mode == 'control' else '127.0.0.1' }}/wd/hub"
|
||||
"-Dtest={{ test_runner_ui_test_class }}"
|
||||
test
|
||||
chdir: "{{ test_runner_control_project_dir if test_runner_execute_mode == 'control' else test_runner_project_dir }}"
|
||||
environment:
|
||||
JAVA_HOME: /usr/lib/jvm/java-21-openjdk-amd64
|
||||
delegate_to: "{{ 'localhost' if test_runner_execute_mode == 'control' else omit }}"
|
||||
become: false
|
||||
register: ui_test_result
|
||||
changed_when: false
|
||||
|
||||
- name: Run Citrus API tests
|
||||
ansible.builtin.command:
|
||||
cmd: mvn -f citrus-tests/pom.xml test
|
||||
chdir: "{{ test_runner_control_project_dir if test_runner_execute_mode == 'control' else test_runner_project_dir }}"
|
||||
environment:
|
||||
JAVA_HOME: /usr/lib/jvm/java-21-openjdk-amd64
|
||||
delegate_to: "{{ 'localhost' if test_runner_execute_mode == 'control' else omit }}"
|
||||
become: false
|
||||
register: citrus_test_result
|
||||
changed_when: false
|
||||
Reference in New Issue
Block a user