提交 d1fdddde 编写于 作者: yuan.luo's avatar yuan.luo

login case

上级 d8796e2c
......@@ -2,7 +2,6 @@ import time
import unittest
import os
from util import Tools
from main import Root
from appium import webdriver
......
import time
import unittest
import time
import HTMLTestRunner
from functions import Login
from appium import webdriver
class MyTestCase(unittest.TestCase):
def setUp(self):
caps = {}
caps["platformName"] = "Android"
# caps["platformVersion"] = "8.0.0"
# caps["deviceName"] = "SM-G9550"
caps["platformVersion"] = "8.1.0"
caps["deviceName"] = "PACM00"
caps["appPackage"] = "com.picahealth.yunque"
caps["appActivity"] = ".activitys.mainpage.InitWelcomeActivityVideo"
self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
def tearDown(self):
# self.driver.quit()
print("tearDown")
def test_something(self):
driver = self.driver
print("链接成功!")
time.sleep(2)
try:
driver.find_element_by_id("bt_next").click()
time.sleep(2)
driver.find_element_by_id("ed_phone").send_keys("15606680071")
driver.find_element_by_id("ed_code").send_keys("245456")
driver.find_element_by_id("ed_pwd").send_keys("123456a")
time.sleep(1)
driver.find_element_by_id("btn_user_login").click()
except Exception as e:
print(e)
caps = {}
caps["platformName"] = "Android"
caps["platformVersion"] = "8.0.0"
caps["deviceName"] = "SM-G9550"
# caps["platformVersion"] = "8.1.0"
# caps["deviceName"] = "PACM00"
caps["appPackage"] = "com.picahealth.yunque"
caps["appActivity"] = ".activitys.mainpage.InitWelcomeActivityVideo"
if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(MyTestCase("test_something"))
filename = "" + 'result.html'
suite.addTest(Login.Login("test_login"))
filename = "/Users/cross/Downloads/" + time.strftime("%Y-%m-%d-%H-%M-%S", time.gmtime()) + '-result.html'
fp = open(filename, 'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title='测试报告', description='用例执行情况:')
runner.run(suite)
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>测试报告</title>
<meta name="generator" content="HTMLTestRunner 0.8.2"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<style type="text/css" media="screen">
body { font-family: verdana, arial, helvetica, sans-serif; font-size: 80%; }
table { font-size: 100%; }
pre { }
/* -- heading ---------------------------------------------------------------------- */
h1 {
font-size: 16pt;
color: gray;
}
.heading {
margin-top: 0ex;
margin-bottom: 1ex;
}
.heading .attribute {
margin-top: 1ex;
margin-bottom: 0;
}
.heading .description {
margin-top: 4ex;
margin-bottom: 6ex;
}
/* -- css div popup ------------------------------------------------------------------------ */
a.popup_link {
}
a.popup_link:hover {
color: red;
}
.popup_window {
display: none;
position: relative;
left: 0px;
top: 0px;
/*border: solid #627173 1px; */
padding: 10px;
background-color: #E6E6D6;
font-family: "Lucida Console", "Courier New", Courier, monospace;
text-align: left;
font-size: 8pt;
width: 500px;
}
}
/* -- report ------------------------------------------------------------------------ */
#show_detail_line {
margin-top: 3ex;
margin-bottom: 1ex;
}
#result_table {
width: 80%;
border-collapse: collapse;
border: 1px solid #777;
}
#header_row {
font-weight: bold;
color: white;
background-color: #777;
}
#result_table td {
border: 1px solid #777;
padding: 2px;
}
#total_row { font-weight: bold; }
.passClass { background-color: #6c6; }
.failClass { background-color: #c60; }
.errorClass { background-color: #c00; }
.passCase { color: #6c6; }
.failCase { color: #c60; font-weight: bold; }
.errorCase { color: #c00; font-weight: bold; }
.hiddenRow { display: none; }
.testcase { margin-left: 2em; }
/* -- ending ---------------------------------------------------------------------- */
#ending {
}
</style>
</head>
<body>
<script language="javascript" type="text/javascript"><!--
output_list = Array();
/* level - 0:Summary; 1:Failed; 2:All */
function showCase(level) {
trs = document.getElementsByTagName("tr");
for (var i = 0; i < trs.length; i++) {
tr = trs[i];
id = tr.id;
if (id.substr(0,2) == 'ft') {
if (level < 1) {
tr.className = 'hiddenRow';
}
else {
tr.className = '';
}
}
if (id.substr(0,2) == 'pt') {
if (level > 1) {
tr.className = '';
}
else {
tr.className = 'hiddenRow';
}
}
}
}
function showClassDetail(cid, count) {
var id_list = Array(count);
var toHide = 1;
for (var i = 0; i < count; i++) {
tid0 = 't' + cid.substr(1) + '.' + (i+1);
tid = 'f' + tid0;
tr = document.getElementById(tid);
if (!tr) {
tid = 'p' + tid0;
tr = document.getElementById(tid);
}
id_list[i] = tid;
if (tr.className) {
toHide = 0;
}
}
for (var i = 0; i < count; i++) {
tid = id_list[i];
if (toHide) {
document.getElementById('div_'+tid).style.display = 'none'
document.getElementById(tid).className = 'hiddenRow';
}
else {
document.getElementById(tid).className = '';
}
}
}
function showTestDetail(div_id){
var details_div = document.getElementById(div_id)
var displayState = details_div.style.display
// alert(displayState)
if (displayState != 'block' ) {
displayState = 'block'
details_div.style.display = 'block'
}
else {
details_div.style.display = 'none'
}
}
function html_escape(s) {
s = s.replace(/&/g,'&amp;');
s = s.replace(/</g,'&lt;');
s = s.replace(/>/g,'&gt;');
return s;
}
/* obsoleted by detail in <div>
function showOutput(id, name) {
var w = window.open("", //url
name,
"resizable,scrollbars,status,width=800,height=450");
d = w.document;
d.write("<pre>");
d.write(html_escape(output_list[id]));
d.write("\n");
d.write("<a href='javascript:window.close()'>close</a>\n");
d.write("</pre>\n");
d.close();
}
*/
--></script>
<div class='heading'>
<h1>测试报告</h1>
<p class='attribute'><strong>Start Time:</strong> 2019-06-12 20:04:34</p>
<p class='attribute'><strong>Duration:</strong> 0:00:04.112054</p>
<p class='attribute'><strong>Status:</strong> Error 1</p>
<p class='description'>用例执行情况:</p>
</div>
<p id='show_detail_line'>Show
<a href='javascript:showCase(0)'>Summary</a>
<a href='javascript:showCase(1)'>Failed</a>
<a href='javascript:showCase(2)'>All</a>
</p>
<table id='result_table'>
<colgroup>
<col align='left' />
<col align='right' />
<col align='right' />
<col align='right' />
<col align='right' />
<col align='right' />
</colgroup>
<tr id='header_row'>
<td>Test Group/Test case</td>
<td>Count</td>
<td>Pass</td>
<td>Fail</td>
<td>Error</td>
<td>View</td>
</tr>
<tr class='errorClass'>
<td>MyTestCase</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td><a href="javascript:showClassDetail('c1',1)">Detail</a></td>
</tr>
<tr id='ft1.1' class='none'>
<td class='errorCase'><div class='testcase'>test_something</div></td>
<td colspan='5' align='center'>
<!--css div popup start-->
<a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.1')" >
error</a>
<div id='div_ft1.1' class="popup_window">
<div style='text-align: right; color:red;cursor:pointer'>
<a onfocus='this.blur();' onclick="document.getElementById('div_ft1.1').style.display = 'none' " >
[x]</a>
</div>
<pre>
ft1.1: Traceback (most recent call last):
File "/Users/pingzhang/Downloads/study/auto-test/main/root.py", line 19, in setUp
self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
File "/usr/local/lib/python3.7/site-packages/appium/webdriver/webdriver.py", line 142, in __init__
proxy
File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "/usr/local/lib/python3.7/site-packages/appium/webdriver/webdriver.py", line 217, in start_session
response = self.execute(RemoteCommand.NEW_SESSION, parameters)
File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Error executing adbExec. Original error: 'Command '/Users/pingzhang/Library/Android/sdk/platform-tools/adb -P 5037 -s LJCYLN75BMY5AMIB shell pm clear com.picahealth.yunque' exited with code 1'; Stderr: 'Error: java.lang.SecurityException: PID 7750 does not have permission android.permission.CLEAR_APP_USER_DATA to clear data of package com.picahealth.yunque'; Code: '1'
</pre>
</div>
<!--css div popup end-->
</td>
</tr>
<tr id='total_row'>
<td>Total</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>&nbsp;</td>
</tr>
</table>
<div id='ending'>&nbsp;</div>
</body>
</html>
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册