--- /dev/null
+Dependency:
+=================
+1. python2.7
+
+2. python-setuptools python-support python-pip
+
+ Ubuntu
+
+ sudo apt-get install python-setuptools python-support python-pip
+
+ Fedora(RHEL)
+
+ sudo yum install python-setuptools python-support python-pip
+
+ openSUSE(TIZEN)
+
+ sudo zypper install python-setuptools python-support python-pip
+
+
+
+3. python-requests(>=1.1), use pip to install it
+
+ sudo pip install requests
+
+How to build debian package:
+=================
+Host with Ubuntu OS recommended. Run the command below to build from source code and get debian package:
+
+ dpkg-buildpackage
+
+
+How to build RPM package:
+=================
+Host with Fedora OS recommended. Run the command below to build from source code and get rpm package:
+
+ make -C packaging/
+ rpmbuild -tb packaging/testkit-lite_<version>.tar.gz --nodeps
+
+Host with ubuntu OS, we need to add a workaround to support the rpm build
+
+ rpmbuild --define 'python_sitelib /usr/lib/python2.7/site-packages' -tb packaging/testkit-lite_<version>.tar.gz --nodeps
+
+How to install:
+=================
+Install testkit lite from source code:
+
+ sudo python setup.py install --record /var/log/testkit-lite.files
+
+Install testkit lite from debian build:
+
+ sudo dpkg -i ../testkit-lite_<version>_all.deb
+
+How to uninstall:
+=================
+Uninstall testkit-lite installed with 'setup.py install':
+
+ cat /var/log/testkit-lite.files | sudo xargs rm -rf
+
+Uninstall testkit-lite installed with 'debian':
+
+ sudo dpkg -r testkit-lite
+
+How to use:
+=================
+1) You can run case on target:
+For web test cases:
+
+ testkit-lite -f device:"<somewhere>/<package_name>/tests.xml" -e 'WRTLauncher <package_name>'
+
+For native test cases:
+
+ testkit-lite -f device:"<somewhere>/<package_name>/tests.xml"
+
+2) You can run case in single mode :
+For web test cases:
+
+ testkit-lite -f "<somewhere>/<package_name>/tests.xml" -e 'WRTLauncher <package_name>' --comm localhost
+
+For native test cases:
+
+ testkit-lite -f "<somewhere>/<package_name>/tests.xml" --comm localhost
+
+3) You can select on parser engine to simply conduct one or more tests.xml on target:
+
+ testkit-lite -f device:"<somewhere>/<package_name1>/tests.xml ... <somewhere>/<package_namen>/tests.xml" -e 'WRTLauncher <package_name1> ... <package_namen>'
+
+4) If you want to execute both auto and manual tests:
+
+ testkit-lite -f device:"<somewhere>/<package_name>/tests.xml"
+
+5) If you just want to execute manual tests:
+
+ testkit-lite -f device:"<somewhere>/<package_name>/tests.xml" -M
+
+6) If you just want to execute auto tests:
+
+ testkit-lite -f device:"<somewhere>/<package_name>/tests.xml" -A
+
+7) If you want to save test result to another file, by default it'll be under /opt/testkit/lite/latest:
+
+ testkit-lite -f device:"<somewhere>/<package_name>/tests.xml" -o <somewhere>/xxx.xml
+
+8) If you want to choose some filters:
+
+ testkit-lite -f device:"<somewhere>/<package_name>/tests.xml" --status level1 --type type1 ...
+
+9) If you want to run test according capability:
+
+ testkit-lite -f device:"<somewhere>/<package_name>/tests.xml" --capability capability.xml
+
+10) At last, you can freely compose the above parameters together:
+
+ testkit-lite -f <somewhere1>/tests.xml <somewhere2>/tests.xml -A --priority P1 --type type1 ...
+
+Get Results:
+=================
+Test report will be generated as tests.result.xml.The result will be under /opt/testkit/lite/latest after execution, you can also check the history results in /opt/testkit/lite/yyyy-mm-dd-HH:MM:SS.NNNNNN.
+
+View Results:
+=================
+
+Test report can be viewed in HTML format, so the data in the xml result file looks more human friendly.
+
+Please follow the following steps to view test report:
+
+ 1) copy files: application.js back_top.png jquery.min.js testresult.xsl tests.css under directory /opt/testkit/lite/xsd/
+
+ 2) put the files from step 1) under the same directory as the xml result file
+
+ 3) open xml result file with a web browser(IE, Chrome or Firefox)
+
+Known Issues:
+=================
+N/A
--- /dev/null
+<html>\r
+<head>\r
+<title>Web Manual Test Harness</title>\r
+<meta name="viewport" content="width=device-width, initial-scale=1.0">\r
+<style type="text/css">\r
+body { font-family:Verdana; font-size:14px; margin:0;}\r
+#container-div {border: 0;margin:0 auto; width:100%;}\r
+#sidebar-left {border: 0;float:left; width:6px; height:100%;}\r
+#sidebar-right {border: 0;float:right; width:6px; height:100%;}\r
+#content-div {border: 0;margin:0 7px !important; height:100%;}\r
+.button {display:inline-block;min-width: 30px; max-width: 100px; margin-top: 3px;margin-bottom: 3px;padding: 3px}\r
+#back-bt, #forward-bt {max-width: 20px;}\r
+#case-info-area {border 0;text-align:left;}\r
+#test-entry, #refer-test-entry {font-size: 10px;color: red}\r
+#test-entry-area, #refer-test-entry-area {font-size: 10px;}\r
+#run-test-area, #result-area {text-align:right; margin:0 auto;padding:0;}\r
+iframe {border: 1px solid black;width: 100%; height: 600px;}\r
+</style>\r
+<script>\r
+function run_test(){\r
+ document.getElementById("test-area").src = document.getElementById("test-entry").textContent;\r
+};\r
+\r
+function run_refer_test(){\r
+ document.getElementById("test-area").src = document.getElementById("refer-test-entry").textContent;\r
+};\r
+\r
+function result_handler(){\r
+ try{\r
+ window.stop();\r
+ } catch(e) {\r
+ document.execCommand('Stop');\r
+ }\r
+ window.stop();\r
+ document.getElementById("case-info-area").className = this.name\r
+};\r
+\r
+function init_mh(){\r
+ document.getElementById("case-info-area").className = "READY";\r
+ document.getElementById("run-test-bt").addEventListener("click", run_test, false);\r
+ document.getElementById("run-refer-test-bt").addEventListener("click", run_refer_test, false);\r
+ document.getElementById("back-bt").addEventListener("click", result_handler, false);\r
+ document.getElementById("pass-bt").addEventListener("click", result_handler, false);\r
+ document.getElementById("fail-bt").addEventListener("click", result_handler, false);\r
+ document.getElementById("block-bt").addEventListener("click", result_handler, false);\r
+ document.getElementById("forward-bt").addEventListener("click", result_handler, false);\r
+ document.getElementById("done-bt").addEventListener("click", result_handler, false);\r
+};\r
+</script>\r
+</head>\r
+<body onload="init_mh()">\r
+<div id="container-div">\r
+ <div id="sidebar-left"></div>\r
+ <div id="sidebar-right"></div>\r
+ <div id="content-div">\r
+ <div id="run-test-area">\r
+ <input type="button" id="back-bt" name="BACK" class="button" value="<"></input>\r
+ <input type="button" id="run-test-bt" class="button" value="Run Test"></input>\r
+ <input type="button" id="run-refer-test-bt" class="button" value="Run Refer Test"></input>\r
+ <input type="button" id="forward-bt" name="FORWARD" class="button" value=">"></input>\r
+ </div>\r
+ <div id=result-area>\r
+ <input type="button" id="pass-bt" name="PASS" class="button" value="PASS"></input>\r
+ <input type="button" id="fail-bt" name="FAIL" class="button" value="FAIL"></input>\r
+ <input type="button" id="block-bt" name="BLOCK" class="button" value="BLOCK"></input>\r
+ <input type="button" id="done-bt" name="DONE" class="button" value="DONE"></input>\r
+ </div>\r
+ <div id="case-info-area">\r
+ <div id="test-entry-area">Test Entry: <span id="test-entry">http://www.baidu.com</span></div>\r
+ <div id="refer-test-entry-area">Refer Test Entry: <span id="refer-test-entry">http://www.sina.com</span></div>\r
+ </div>\r
+ <iframe id="test-area"></iframe>\r
+ </div>\r
+</div>\r
+</body>\r
+</html>\r
include_package_data = True,
data_files = [('/opt/testkit/lite', ['VERSION', 'doc/testkit-lite_user_guide.pdf', 'doc/testkit-lite_tutorial.pdf', 'doc/test_definition_schema.pdf']),
('/opt/testkit/lite/commodule/', ['CONFIG']),
+ ('/opt/testkit/lite', ['resource/mh.html']),
('/etc/dbus-1/system.d/', ['dbus/com.intel.testkit.conf'])],
scripts = ('testkit-lite', 'dbus/testkit-lite-dbus'),
packages = find_packages(),
+++ /dev/null
-<html>\r
-<head>\r
-<title>Web Manual Test Harness</title>\r
-<meta name="viewport" content="width=device-width, initial-scale=1.0">\r
-<style type="text/css">\r
-body { font-family:Verdana; font-size:14px; margin:0;}\r
-#container-div {border: 0;margin:0 auto; width:100%;}\r
-#sidebar-left {border: 0;float:left; width:6px; height:100%;}\r
-#sidebar-right {border: 0;float:right; width:6px; height:100%;}\r
-#content-div {border: 0;margin:0 7px !important; height:100%;}\r
-.button {display:inline-block;min-width: 30px; max-width: 100px; margin-top: 3px;margin-bottom: 3px;padding: 3px}\r
-#back-bt, #forward-bt {max-width: 20px;}\r
-#case-info-area {border 0;text-align:left;}\r
-#test-entry, #refer-test-entry {font-size: 10px;color: red}\r
-#test-entry-area, #refer-test-entry-area {font-size: 10px;}\r
-#run-test-area, #result-area {text-align:right; margin:0 auto;padding:0;}\r
-iframe {border: 1px solid black;width: 100%; height: 600px;}\r
-</style>\r
-<script>\r
-function run_test(){\r
- document.getElementById("test-area").src = document.getElementById("test-entry").textContent;\r
-};\r
-\r
-function run_refer_test(){\r
- document.getElementById("test-area").src = document.getElementById("refer-test-entry").textContent;\r
-};\r
-\r
-function result_handler(){\r
- try{\r
- window.stop();\r
- } catch(e) {\r
- document.execCommand('Stop');\r
- }\r
- window.stop();\r
- document.getElementById("case-info-area").className = this.name\r
-};\r
-\r
-function init_mh(){\r
- document.getElementById("case-info-area").className = "READY";\r
- document.getElementById("run-test-bt").addEventListener("click", run_test, false);\r
- document.getElementById("run-refer-test-bt").addEventListener("click", run_refer_test, false);\r
- document.getElementById("back-bt").addEventListener("click", result_handler, false);\r
- document.getElementById("pass-bt").addEventListener("click", result_handler, false);\r
- document.getElementById("fail-bt").addEventListener("click", result_handler, false);\r
- document.getElementById("block-bt").addEventListener("click", result_handler, false);\r
- document.getElementById("forward-bt").addEventListener("click", result_handler, false);\r
- document.getElementById("done-bt").addEventListener("click", result_handler, false);\r
-};\r
-</script>\r
-</head>\r
-<body onload="init_mh()">\r
-<div id="container-div">\r
- <div id="sidebar-left"></div>\r
- <div id="sidebar-right"></div>\r
- <div id="content-div">\r
- <div id="run-test-area">\r
- <input type="button" id="back-bt" name="BACK" class="button" value="<"></input>\r
- <input type="button" id="run-test-bt" class="button" value="Run Test"></input>\r
- <input type="button" id="run-refer-test-bt" class="button" value="Run Refer Test"></input>\r
- <input type="button" id="forward-bt" name="FORWARD" class="button" value=">"></input>\r
- </div>\r
- <div id=result-area>\r
- <input type="button" id="pass-bt" name="PASS" class="button" value="PASS"></input>\r
- <input type="button" id="fail-bt" name="FAIL" class="button" value="FAIL"></input>\r
- <input type="button" id="block-bt" name="BLOCK" class="button" value="BLOCK"></input>\r
- <input type="button" id="done-bt" name="DONE" class="button" value="DONE"></input>\r
- </div>\r
- <div id="case-info-area">\r
- <div id="test-entry-area">Test Entry: <span id="test-entry">http://www.baidu.com</span></div>\r
- <div id="refer-test-entry-area">Refer Test Entry: <span id="refer-test-entry">http://www.sina.com</span></div>\r
- </div>\r
- <iframe id="test-area"></iframe>\r
- </div>\r
-</div>\r
-</body>\r
-</html>\r
STR_BLOCK = 'BLOCK'
STR_NOTRUN = 'n/a'
DEFAULT_WD_URL = 'http://127.0.0.1:9515'
-MH_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "mh.html")
+MH_FILE = "/opt/testkit/lite/mh.html"
class TestExecuter: