Skip to content

Commit bbf8b6a

Browse files
committed
project using qaf with example to start with.
1 parent 68fcd0f commit bbf8b6a

File tree

113 files changed

+12673
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

113 files changed

+12673
-2
lines changed

README.md

+35-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,35 @@
1-
# qaf-python-helloworld
2-
Hello world project using QAF in python
1+
# qaf-python-helloworld #
2+
3+
This repository contains a simple "Hello, World!" example using the QAF-Python framework.
4+
5+
6+
## Installation
7+
1. Clone this repository to your local machine:
8+
```commandline
9+
git clone https://github.com/qmetry/qaf-python-helloworld.git
10+
```
11+
2. Navigate to the project directory:
12+
```commandline
13+
cd qaf-python-helloworld
14+
python3 -m venv ./venv
15+
source venv/bin/activate
16+
```
17+
3. Install the required dependencies:
18+
```
19+
pip3 install -r requirements.txt
20+
```
21+
22+
or to reinstall:
23+
```
24+
pip3 install -r requirements.txt --force-reinstall
25+
```
26+
27+
## Running the Test
28+
To run the "Hello, World!" example using QAF-Python, execute the following command:
29+
30+
pytest [<options>]
31+
32+
This command will execute the test script located in the tests folder.
33+
34+
35+
## View report

conftest.py

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# from qaf import StepListener
2+
# from qaf import pluginmagager
3+
# from qaf.automation.bdd2.qaf_teststep import StepTracker
4+
# from qaf.automation.core.reporter import Reporter
5+
# from qaf.listeners import qafhook
6+
#
7+
#
8+
# class StepListenerImpl(StepListener):
9+
# @qafhook
10+
# def before_step(self, step_tracker: StepTracker):
11+
# Reporter.info(f"StepListener: {step_tracker.name}")
12+
# print(step_tracker.name)
13+
#
14+
#
15+
# pluginmagager.register(StepListenerImpl())

dashboard.htm

+231
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,231 @@
1+
<!doctype html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8">
5+
<title>QMetry Automation Studio Reporter</title>
6+
<link rel="shortcut icon" href="./dashboard/images/favicon.ico" />
7+
<link href="./dashboard/css/style.css" rel="stylesheet" onerror='document.write("Required <a href=\"https://github.com/infostretch/qaf-report#qaf-report\">dashboard.</a>"); window.stop();' />
8+
<link rel="stylesheet" href="./dashboard/jquery/jqplot/jquery.jqplot.min.css" />
9+
<link rel="stylesheet" href="./dashboard/jquery/ui/css/smoothness/jquery-ui-1.9.0.custom.min.css" />
10+
<link rel="stylesheet" href="./dashboard/jquery/layout/layout-default-latest.css" />
11+
<link rel="stylesheet" type="text/css" href="./dashboard/jquery/jqplot/examples.min.css" />
12+
<link type="text/css" rel="stylesheet" href="./dashboard/jquery/jqplot/syntaxhighlighter/styles/shCoreDefault.min.css" />
13+
<link type="text/css" rel="stylesheet" href="./dashboard/jquery/jqplot/syntaxhighlighter/styles/shThemejqPlot.min.css" />
14+
<link href="./dashboard/css/stylesheet_master.css" media="screen" rel="stylesheet" type="text/css">
15+
<script src="./dashboard/jquery/jquery-1.9.1.min.js"></script>
16+
<script src="./dashboard/jquery/jquery.tinysort.min.js"></script>
17+
<script src="./dashboard/jquery/jquery.timer.js"></script>
18+
<script src="./dashboard/jquery/ui/jquery-ui-1.9.1.min.js"></script>
19+
<script type="text/javascript" src="./dashboard/jquery/tmpl/jquery.tmpl.min.js"></script>
20+
<script type="text/javascript" src="./dashboard/jquery/tmpl/jquery.tmplPlus.min.js"></script>
21+
<script src="./dashboard/jquery/layout/jquery.layout-latest.min.js"></script>
22+
<script src="./dashboard/jquery/jqplot/jquery.jqplot.min.js"></script>
23+
<script src="./dashboard/jquery/jqplot/plugins/jqplot.pieRenderer.min.js"></script>
24+
<script src="./dashboard/jquery/jqplot/plugins/jqplot.donutRenderer.min.js"></script>
25+
<script type="text/javascript" src="./dashboard/jquery/jqplot/plugins/jqplot.barRenderer.min.js"></script>
26+
<script type="text/javascript" src="./dashboard/jquery/jqplot/plugins/jqplot.categoryAxisRenderer.min.js"></script>
27+
<script type="text/javascript" src="./dashboard/jquery/jqplot/plugins/jqplot.canvasAxisTickRenderer.min.js"></script>
28+
<script type="text/javascript" src="./dashboard/jquery/jqplot/plugins/jqplot.enhancedLegendRenderer.min.js"></script>
29+
<script type="text/javascript" src="./dashboard/jquery/jqplot/plugins/jqplot.canvasAxisLabelRenderer.min.js"></script>
30+
<script type="text/javascript" src="./dashboard/jquery/jqplot/plugins/jqplot.cursor.min.js"></script>
31+
<script type="text/javascript" src="./dashboard/jquery/jqplot/plugins/jqplot.canvasTextRenderer.min.js"></script>
32+
<script type="text/javascript" src="./dashboard/jquery/jqplot/plugins/jqplot.highlighter.min.js"></script>
33+
<script type="text/javascript" src="./dashboard/jquery/jqplot/syntaxhighlighter/scripts/shCore.min.js"></script>
34+
<script type="text/javascript" src="./dashboard/jquery/jqplot/syntaxhighlighter/scripts/shBrushJScript.min.js"></script>
35+
<script type="text/javascript" src="./dashboard/jquery/jqplot/syntaxhighlighter/scripts/shBrushXml.min.js"></script>
36+
<!--[if lt IE 9]><script language="javascript" type="text/javascript" src="./jquery/jqplot/excanvas.js"></script><![endif]-->
37+
<!--<link href="./css/jquery.clearable.css" rel="stylesheet" />
38+
<script src="./js/jquery.clearable.js"></script>
39+
-->
40+
<script src="./dashboard/jquery/qaf_dashboard.js"></script>
41+
42+
<link href="./dashboard/css/jquery.mCustomScrollbar.css" rel="stylesheet" />
43+
<script src="./dashboard/jquery/jqueryFileTree/jquery.easing.js"></script>
44+
<script src="./dashboard/jquery/jquery.mCustomScrollbar.concat.min.js"></script>
45+
46+
<link href="./dashboard/css/prettify.css" rel="stylesheet" />
47+
<script src="./dashboard/jquery/prettify.js"></script>
48+
<script src="./dashboard/jquery/vkbeautify.0.99.00.beta.js"></script>
49+
</head>
50+
51+
<body>
52+
<div class="ui-layout-north ">
53+
<div class="logo_area">
54+
<!-- <object data="./dashboard/images/logo_qaf_icon.svg" width="180px" -->
55+
<!-- height="56px" type="image/svg+xml"> -->
56+
<!-- <img src="./dashboard/images/logo_qaf_aicon.png" /> -->
57+
<!-- </object> -->
58+
<img src="./dashboard/images/logo_qaf_icon.svg" alt="QAF Logo" onerror="this.src='./dashboard/images/logo.png'">
59+
</div>
60+
<div class="my_logo_area">
61+
<img src="app-logo.png" height="60px" onerror="this.height='0px'">
62+
</div>
63+
</div>
64+
<div class="ui-layout-center content" style="margin-left: 1px;">
65+
<div class="main_cont ui-layout-center">
66+
<section id="data_area">
67+
<div class="button_area">
68+
<div class="auto_refresh_btn">
69+
<button class="nav-toggle" title="Auto Refresh" id="refreshBtn"></button>
70+
</div>
71+
<div class="fright">
72+
<ul class="tabs">
73+
<li onclick="showTrendChart(this)">
74+
<a href="#"><span
75+
class="margin_r_two"><img
76+
src="dashboard/images/trands_icon.png" width="25" height="19"
77+
alt=""></span><span>Trends</span></a>
78+
</li>
79+
<li onclick="showOverview(this)" id="overview-tab">
80+
<a href="javascript:void(0);"><span class="margin_r_two"><img
81+
src="dashboard/images/overview_icon.png" width="19"
82+
height="23" alt=""></span><span>Overview</span></a>
83+
</li>
84+
</ul>
85+
</div>
86+
</div>
87+
<div class="data_cont">
88+
<div class="container tab_container">
89+
<div id="trends-tab-content" class="tab_content">
90+
<div class="title_bg">
91+
Trend Chart
92+
</div>
93+
<div class="cont_data">
94+
<div id="trends-chart"></div>
95+
<center>
96+
<div id="trends-chart-loading"></div>
97+
</center>
98+
</div>
99+
</div>
100+
<div id="overview-tab-content" class="tab_content"></div>
101+
</div>
102+
</div>
103+
</section>
104+
<div id="report_details" style="display: none;width:100%">
105+
<section class="report">
106+
<div class="tool_cont">
107+
<div class="tool_title">
108+
Tools
109+
</div>
110+
<div class="filter_cont">
111+
<ul>
112+
<li class="topic_title">
113+
Filter: <input type="search" onchange="doFilter('')" id="inputSerach"/><span id="filterResultCnt"></span><span id="allResultCnt"></span>
114+
</li>
115+
<li class="topic_data">
116+
<input name="fpass" type="checkbox" value="pass" id="fpass" onclick="doFilter('pass')" checked="checked" />
117+
<label for="fpass">Pass</label>
118+
<input name="ffail" type="checkbox" value="fail" id="ffail" checked="checked" onclick="doFilter('fail')" />
119+
<label for="ffail">Fail</label>
120+
<input name="fskip" id="fskip" type="checkbox" value="skip" onclick="doFilter('skip')" checked="checked" />
121+
<label for="fskip">Skip</label>
122+
<input name="fconfig" id="fconfig" type="checkbox" value="config" onclick="doFilter('config')" />
123+
<label for="fconfig">Configuration</label>
124+
<input name="ftest" id="ftest" type="checkbox" value="test" onclick="doFilter('test')" checked="checked" />
125+
<label for="ftest">Test</label>
126+
</li>
127+
</ul>
128+
</div>
129+
<div class="filter_cont">
130+
<ul>
131+
<li class="topic_title">
132+
Order
133+
</li>
134+
<li class="topic_data">
135+
<input name="order" type="radio" value="pass" id="opass" onclick="doSort('pass')" />
136+
<label for="opass">Pass</label>
137+
<input name="order" type="radio" value="fail" id="ofail" onclick="doSort('fail')" />
138+
<label for="ofail">Fail</label>
139+
<input name="order" type="radio" value="skip" id="oskip" onclick="doSort('skip')" />
140+
<label for="oskip">Skip</label>
141+
<input name="order" type="radio" value="execution" id="oexecution" onclick="doSortE()" />
142+
<label for="oexecution">Execution</label>
143+
<input name="order" type="radio" value="execution" id="oname" onclick="doSortN(true)" />
144+
<label for="oname">Name</label>
145+
</li>
146+
</ul>
147+
</div>
148+
<div class="details_cont">
149+
<ul>
150+
<li class="topic_title">
151+
Details <span id="loading-info"> <span id="progress" class="tiny-green"> </span> <span class="tiny-blue"> <button id="stop" style="height: 20px;"></button> </span> </span>
152+
</li>
153+
<li class="topic_data">
154+
<input value="true" id="oexpand" name="expandcollapse" onclick="expandCollapseAll(true)" type="radio" />
155+
<label for="oexpand">Expand All</label>
156+
<input value="false" name="expandcollapse" onclick="expandCollapseAll(false)" type="radio" id="ocollapse" />
157+
<label for="ocollapse">Collapse All&nbsp;</label>
158+
</li>
159+
</ul>
160+
</div>
161+
</div>
162+
</section>
163+
<section class="environment_info">
164+
<div id="env_header" class="title_bg collapse">
165+
<ul>
166+
<li class="info_icon"></li>
167+
<li class="txt">
168+
Environment Information
169+
</li>
170+
</ul>
171+
<div class="accordien_arrow"></div>
172+
</div>
173+
<div id="env_details" class="ui-layout-content">
174+
<table border="0" cellspacing="0" cellpadding="0" class="back_tab_bg">
175+
<tr>
176+
<td>
177+
<table border="0" cellspacing="1" cellpadding="0" class="environment_tab">
178+
<tr>
179+
<th>Execution On</th>
180+
<th>QAF build</th>
181+
<th>Desired Capabilities</th>
182+
<th>Actual Capabilities</th>
183+
<th>Run Parameters</th>
184+
</tr>
185+
<tr>
186+
<td id="execution_env_info">QAF-Type : Pro</td>
187+
<td id="isfw_build_info">QAF-Type : Pro</td>
188+
<td id="desired_capabilities">Platform : ANY</td>
189+
<td id="actual-capabilities">Platform : XP</td>
190+
<td id="run-parameters">default.locale : en</td>
191+
</tr>
192+
</table>
193+
</td>
194+
</tr>
195+
</table>
196+
</div>
197+
<!--<section class="error_analysis"> -->
198+
<div id="error_analysis_header" class="title_bg error_analysis collapse" style="margin-top: 10px;">
199+
<ul>
200+
<li class="icon"></li>
201+
<li class="txt">
202+
Error Analysis
203+
</li>
204+
</ul>
205+
<div class="accordien_arrow"></div>
206+
</div>
207+
<div id="error_analysis_details" class="ui-layout-content"></div>
208+
<!-- </section> -->
209+
<div id="method-results"></div>
210+
</section>
211+
</div>
212+
</div>
213+
</div>
214+
<div class="ui-layout-west">
215+
<div id="reportlist_scroll" class="ui-layout-content" style="border-left:1px solid #fff;">
216+
<ul id="reportlist"></ul>
217+
</div>
218+
</div>
219+
<div id="dialog" title="An Image!">
220+
<a id="newwin" href="" target="_blank"> <img id="image" src="" style="width: 100%;" /></a>
221+
</div>
222+
223+
<div id="cmd-dialog" title="Request Details">
224+
<h3 onclick="$('request-details').toggle();">Request</h3>
225+
<div id="request-details"></div>
226+
<h3 onclick="$('reponse-details').toggle();">Reponse</h3>
227+
<div id="response-details"></div>
228+
</div>
229+
</body>
230+
231+
</html>

0 commit comments

Comments
 (0)