test case

This commit is contained in:
codingsheepgirl 2017-07-27 15:13:57 +08:00
parent 1a93b00971
commit 08fec11b3f
11 changed files with 356 additions and 350 deletions

View File

@ -1,6 +1,10 @@
import unittest
from test_case.transaction.record_outcome_spec import RecordOutcomeSpec
from test_case.invoice.income_invoice_spec import RecordIncomeInvoiceSpec
from test_case.transaction.record_income_spec import RecordIncomeSpec
from test_case.transaction.record_transfer_spec import RecordTransterSpec
from test_case.transaction.outcome_voucher_spec import OutcomeVoucherSpec
from test_case.invoice.record_input_invoice_spec import RecordInputInvoiceSpec
from test_case.invoice.record_output_invoice_spec import RecordOutputInvoiceSpec
from HTMLTestRunner import HTMLTestRunner
if __name__ == '__main__':
@ -14,10 +18,39 @@ if __name__ == '__main__':
# testSuite.addTest(RecordOutcomeSpec('test6'))
# testSuite.addTest(RecordOutcomeSpec('test7'))
# testSuite.addTest(RecordOutcomeSpec('test8'))
# #记收入测试
# testSuite.addTest(RecordIncomeSpec('test1'))
# testSuite.addTest(RecordIncomeSpec('test2'))
# testSuite.addTest(RecordIncomeSpec('test3'))
# testSuite.addTest(RecordIncomeSpec('test4'))
# testSuite.addTest(RecordIncomeSpec('test5'))
# testSuite.addTest(RecordIncomeSpec('test6'))
# testSuite.addTest(RecordIncomeSpec('test7'))
# testSuite.addTest(RecordIncomeSpec('test8'))
#记账户互转
# testSuite.addTest(RecordTransterSpec('test1'))
# testSuite.addTest(RecordTransterSpec('test2'))
# testSuite.addTest(RecordTransterSpec('test3'))
# testSuite.addTest(RecordTransterSpec('test4'))
# testSuite.addTest(RecordTransterSpec('test5'))
# testSuite.addTest(RecordTransterSpec('test6'))
# testSuite.addTest(RecordTransterSpec('test7'))
# testSuite.addTest(RecordTransterSpec('test8'))
#记收票测试
testSuite.addTest(RecordIncomeInvoiceSpec('test1'))
testSuite.addTest(RecordIncomeInvoiceSpec('test2'))
# testSuite.addTest(RecordInputInvoiceSpec('test1'))
# testSuite.addTest(RecordInputInvoiceSpec('test2'))
#记开票测试
testSuite.addTest(RecordOutputInvoiceSpec('test1'))
testSuite.addTest(RecordOutputInvoiceSpec('test2'))
#支出-生成凭证测试
# testSuite.addTest(OutcomeVoucherSpec('test1'))
testReport = open('./report/result.html','wb')
runner = HTMLTestRunner(stream = testReport,title = "记收支测试报告",description='测试用例执行情况:')
runner = HTMLTestRunner(stream = testReport,title = "管有账测试报告",description='测试用例执行情况:')
runner.run(testSuite)
testReport.close()

View File

@ -1,61 +0,0 @@
import unittest
import sys
import os
from selenium import webdriver
import time
import random
from collections import Iterator
from HTMLTestRunner import HTMLTestRunner
sys.path.append(os.path.abspath(os.path.dirname(__file__) + '/' + '../../'))
from test_case.login.login_page import LoginPage
from .invoice_page import InvoicePage
from test_data.record_income_invoice_data import *
#前置条件:新账套
class RecordIncomeInvoiceSpec(unittest.TestCase):
''' 记收票测试 '''
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.baseUrl = 'http://guanplus-app-accountingfirm-web-dev-1.cn-north-1.eb.amazonaws.com.cn'
login_page = LoginPage(self.baseUrl, self.driver)
login_page.login('18514509382', 'qq123456')
self.invoice_page = InvoicePage(self.driver)
self.invoice_page.goToCompany('一般纳税人07251419')
self.invoice_page.goToInvoice(self.baseUrl,'input')
def test1(self):
'''记录所有类别的收票-普票'''
commonPublicInvoice = ['1','普票','内部代表']
for commonItems in commonIncomeInvoiceCategory:
self.invoice_page.recordCommonIncomeInvoice(commonPublicInvoice,commonItems)
self.invoice_page.goToInvoice(self.baseUrl,'input')
def test2(self):
'''记所有类别的收票-专票'''
specialPublicInvoice = ['1','专票','内部代表']
invoiceNumList = []
for i in range(0,33):
invoiceNumList.append(self.invoiceNum())
for specialItems,invoiceNum in zip(specialIncomeInvoiceCategory,invoiceNumList):
self.invoice_page.recordSpecialIncomeInvoice(specialPublicInvoice,invoiceNum,specialItems)
self.invoice_page.goToInvoice(self.baseUrl,'input')
#生成8位随机正数
def invoiceNum(self):
invoiceNum = ''
for i in range(0,8) :
invoiceNum = invoiceNum + str(random.randint(0,9))
return invoiceNum
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()

View File

@ -2,108 +2,152 @@ import time
import sys
import os
sys.path.append(os.path.abspath(os.path.dirname(__file__) + '/' + '../..'))
from util.setDate_util import SetDate
from util.set_date_util import SetDate
class InvoicePage:
itemsNumber = ''
invoiceType = ''
invoiceClassfiy = ''
def setItemsNum(self,itemsNum):
global itemsNumber
itemsNumber = itemsNum
def __init__(self, driver):
def __init__(self, driver,invoiceType):
self.driver = driver
self.date_button_xpath = '//*[@id="datePiker"]/span/span[2]'
# 进入账套
def goToCompany(self, companyName):
self.driver.find_element_by_link_text(companyName).click()
time.sleep(5)
self.invoiceType = invoiceType
# 进入记发票页面
def goToInvoice(self,baseUrl,invoiceType):
self.driver.get(baseUrl + '/app/invoice/tab/new-' + invoiceType + '-invoice')
def goToInvoice(self,baseUrl):
self.driver.get(baseUrl + '/app/invoice/tab/new-' + self.invoiceType + '-invoice')
time.sleep(5)
#进入凭证列表页面
def goToVoucherPage(self,baseUrl):
self.driver.get(baseUrl + '/app/finance/voucher')
#进入发票列表页面
def goToInvoiceList(self,baseUrl):
self.driver.get(baseUrl + '/app/invoice/' + self.invoiceType + '-invoice')
time.sleep(5)
# 设置票类型
def setIncomeInvoiceType(self, incomeInvoiceType):
global invoiceType
invoiceType = incomeInvoiceType
income_invoice_type_xpath = '//*[@id="body"]/tab/fgff/div/div[2]/ul/div[1]/div/label[2]/ng-select/div/div[2]/span'
self.driver.find_element_by_xpath(income_invoice_type_xpath).click()
time.sleep(5)
self.driver.find_element_by_link_text(incomeInvoiceType).click()
time.sleep(3)
# 设置票类型
def setInvoiceType(self, invoiceClass):
global invoiceClassfiy
invoiceClassfiy = invoiceClass
invoice_type_xpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/div[1]/div/label[2]/ng-select/div/div[2]/span/span'
self.driver.find_element_by_xpath(invoice_type_xpath).click()
time.sleep(2)
self.driver.find_element_by_link_text(invoiceClass).click()
time.sleep(2)
# 设置对方信息
def setOtherInfo(self, otherInfo):
otherInfo_xpath = '//*[@id="body"]/tab/fgff/div/div[2]/ul/div[1]/div/label[3]/ng-select/div/div[2]/span'
if 'input' == self.invoiceType:
otherInfo_xpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/div[1]/div/label[3]/ng-select/div/div[2]/span'
elif 'output' == self.invoiceType:
otherInfo_xpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/div[1]/div/label[4]/ng-select/div/div[2]/span'
else:
print('========================================发票类型【invoiceType】错误============================================')
self.driver.find_element_by_xpath(otherInfo_xpath).click()
time.sleep(5)
self.driver.find_element_by_link_text(otherInfo).click()
time.sleep(2)
#设置发票状态
def setInvoiceStatus(self,invoiceStatus):
invoiceStatusXpath = '//*[@id="body"]/tab/new-output-invoice/div/div[2]/ul/div[1]/div/label[3]/ng-select/div/div[2]/span'
self.driver.find_element_by_xpath(invoiceStatusXpath).click()
time.sleep(2)
self.driver.find_element_by_link_text(invoiceStatus).click()
time.sleep(2)
#设置发票号码
def setInvoiceNum(self,invoiceNum):
self.driver.find_element_by_xpath('//*[@id="body"]/tab/fgff/div/div[2]/ul/div[1]/div/label[4]/div/input').clear()
self.driver.find_element_by_xpath('//*[@id="body"]/tab/fgff/div/div[2]/ul/div[1]/div/label[4]/div/input').send_keys(invoiceNum)
if 'input' == self.invoiceType:
invoiceNumXpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/div[1]/div/label[4]/div/input'
elif 'output' == self.invoiceType:
invoiceNumXpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/div[1]/div/label[5]/div/input'
self.driver.find_element_by_xpath(invoiceNumXpath).clear()
self.driver.find_element_by_xpath(invoiceNumXpath).send_keys(invoiceNum)
#设置类别
def setCategory(self,category):
self.driver.find_element_by_xpath('//*[@id="body"]/tab/fgff/div/div[2]/ul/table/tbody/tr[1]/td[1]/ng-select/div/div[2]/span').click()
categoryButtonXpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/table/tbody/tr[1]/td[1]/ng-select/div/div[2]/span'
self.driver.find_element_by_xpath(categoryButtonXpath).click()
time.sleep(5)
firstXpath = '//*[@id="body"]/tab/fgff/div/div[2]/ul/table/tbody/tr[1]/td[1]/ng-select/div/div[2]/ul/li[' + category[0] + ']/div'
firstXpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/table/tbody/tr[1]/td[1]/ng-select/div/div[2]/ul/li[' + category[0] + ']/div'
self.driver.find_element_by_xpath(firstXpath).click()
if 1 == int(category[1]):
secondXpath = '//*[@id="body"]/tab/fgff/div/div[2]/ul/table/tbody/tr[1]/td[1]/ng-select/div/div[2]/div/div[1]/div/button/div'
secondXpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/table/tbody/tr[1]/td[1]/ng-select/div/div[2]/div/div[1]/div/button/div'
else:
secondXpath = '//*[@id="body"]/tab/fgff/div/div[2]/ul/table/tbody/tr[1]/td[1]/ng-select/div/div[2]/div/div['+ category[1] + ']/div[2]/button/div'
secondXpath = '//*[@id="body"]/tab/new-' + self.invoiceType + '-invoice/div/div[2]/ul/table/tbody/tr[1]/td[1]/ng-select/div/div[2]/div/div['+ category[1] + ']/div[2]/button/div'
self.driver.find_element_by_xpath(secondXpath).click()
#设置部门
#设置部门性质
def setDepartment(self,departmentName):
self.driver.find_element_by_xpath('//*[@id="body"]/tab/fgff/div/div[2]/ul/table/tbody/tr[1]/td[2]/ng-select/div/div[2]/span').click()
departmentXpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/table/tbody/tr[1]/td[2]/ng-select/div/div[2]/span'
self.driver.find_element_by_xpath(departmentXpath).click()
self.driver.find_element_by_link_text(departmentName).click()
#设置税率
def setRate(self,rate):
self.driver.find_element_by_xpath('//*[@id="body"]/tab/fgff/div/div[2]/ul/table/tbody/tr[1]/td[3]/ng-select/div/div[2]/span').click()
rateXpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/table/tbody/tr[1]/td[3]/ng-select/div/div[2]/span'
self.driver.find_element_by_xpath(rateXpath).click()
self.driver.find_element_by_link_text(rate).click()
#设置进项税类别
def setInputTax(self,taxCategory):
self.driver.find_element_by_xpath('//*[@id="body"]/tab/fgff/div/div[2]/ul/table/tbody/tr[1]/td[4]/ng-select/div/div[2]/span').click()
self.driver.find_element_by_xpath('//*[@id="body"]/tab/new-input-invoice/div/div[2]/ul/table/tbody/tr[1]/td[4]/ng-select/div/div[2]/span').click()
self.driver.find_element_by_link_text(taxCategory).click()
#设置价税合计金额
def setMoney(self,money):
if '普票' == invoiceType:
self.driver.find_element_by_xpath('//*[@id="body"]/tab/fgff/div/div[2]/ul/table/tbody/tr[1]/td[4]/bp-input/input').clear()
self.driver.find_element_by_xpath('//*[@id="body"]/tab/fgff/div/div[2]/ul/table/tbody/tr[1]/td[4]/bp-input/input').send_keys(money)
if 'input' == self.invoiceType:
if '普票' == invoiceClassfiy:
moneyXpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/table/tbody/tr[1]/td[4]/bp-input/input'
elif '专票' == invoiceClassfiy:
moneyXpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/table/tbody/tr[1]/td[5]/bp-input/input'
else:
print('====================================发票类别【invoiceClassfiy】设置错误==============================================')
elif 'output' == self.invoiceType:
moneyXpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/table/tbody/tr[1]/td[4]/bp-input/input'
else:
self.driver.find_element_by_xpath('//*[@id="body"]/tab/fgff/div/div[2]/ul/table/tbody/tr[1]/td[5]/bp-input/input').clear()
self.driver.find_element_by_xpath('//*[@id="body"]/tab/fgff/div/div[2]/ul/table/tbody/tr[1]/td[5]/bp-input/input').send_keys(money)
print('=============================================发票类别【invoiceType】设置错误============================================================')
# if '普票' == invoiceClassfiy:
# moneyXpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/table/tbody/tr[1]/td[4]/bp-input/input'
# elif '专票' == invoiceClassfiy:
# moneyXpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/table/tbody/tr[1]/td[5]/bp-input/input'
# else:
# print('====================================发票类别【invoiceClassfiy】设置错误======================================================')
self.driver.find_element_by_xpath(moneyXpath).clear()
self.driver.find_element_by_xpath(moneyXpath).send_keys(money)
#设置备注
def setRemark(self,remark=None):
if '普票' == invoiceType:
self.driver.find_element_by_xpath('//*[@id="body"]/tab/fgff/div/div[2]/ul/table/tbody/tr[1]/td[5]/input').clear()
self.driver.find_element_by_xpath('//*[@id="body"]/tab/fgff/div/div[2]/ul/table/tbody/tr[1]/td[5]/input').send_keys(remark)
if 'input' == self.invoiceType:
if '普票' == invoiceClassfiy:
remarkXpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/table/tbody/tr[1]/td[5]/input'
elif '专票' == invoiceClassfiy:
remarkXpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/table/tbody/tr[1]/td[6]/input'
else:
print('====================================发票类别【invoiceClassfiy】设置错误==============================================')
elif 'output' == self.invoiceType:
remarkXpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/table/tbody/tr[1]/td[5]/input'
else:
self.driver.find_element_by_xpath('//*[@id="body"]/tab/fgff/div/div[2]/ul/table/tbody/tr[1]/td[6]/input').clear()
self.driver.find_element_by_xpath('//*[@id="body"]/tab/fgff/div/div[2]/ul/table/tbody/tr[1]/td[6]/input').send_keys(remark)
#点击保存按钮
def clickSaveButton(self):
self.driver.find_element_by_xpath('//*[@id="body"]/tab/fgff/div/div[2]/ul/div[3]/div/span/button[2]').click()
print('=============================================发票类别【invoiceType】设置错误============================================================')
self.driver.find_element_by_xpath(remarkXpath).clear()
self.driver.find_element_by_xpath(remarkXpath).send_keys(remark)
#点击保存按钮
def clickSaveButton(self):
saveButtonXpath = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/div[3]/div/span/button[2]'
self.driver.find_element_by_xpath(saveButtonXpath).click()
time.sleep(5)
#点击保存并新增按钮
def clickSaveAndAdd(self):
saveAndAdd = '//*[@id="body"]/tab/new-'+ self.invoiceType +'-invoice/div/div[2]/ul/div[3]/div/span/button[1]'
self.driver.find_element_by_xpath(saveAndAdd).click()
time.sleep(3)
#普票-设置明细:类别,部门性质,税率,价税合计金额,备注 items 是一个list [类别,部门性质,税率,价税合计金额,备注]
def setCommonInvoiceItems(self,commonItems):
self.setCategory(commonItems[0])
@ -114,15 +158,16 @@ class InvoicePage:
#普票-设置收票的记账日期,发票类型,对方信息 publicInvoice 是一个list,[记账日期,发票类型,对方信息]
def setCommonPublicInvoice(self,commonPublicInvoice):
SetDate(self.driver,self.date_button_xpath,commonPublicInvoice[0])
self.setIncomeInvoiceType(commonPublicInvoice[1])
date_button_xpath = '//*[@id="datePiker"]/span/span[2]'
SetDate(self.driver,date_button_xpath,commonPublicInvoice[0])
self.setInvoiceType(commonPublicInvoice[1])
self.setOtherInfo(commonPublicInvoice[2])
# 记收票-普票
# 记收票-普票 通过点击保存并新增按钮
def recordCommonIncomeInvoice(self,commonPublicInvoice,commonItems):
self.setCommonPublicInvoice(commonPublicInvoice)
self.setCommonInvoiceItems(commonItems)
self.clickSaveButton()
self.clickSaveAndAdd()
#专票-设置明细:类别,部门性质,税率,进项税类别,价税合计金额,备注 items 是一个list [类别,部门性质,税率,进项税类别,价税合计金额,备注]
def setSpecialInvoiceItems(self,specialItems):
@ -135,13 +180,36 @@ class InvoicePage:
#专票-设置收票的记账日期,发票类型,对方信息,发票号码 publicInvoice 是一个list,[记账日期,发票类型,对方信息,发票号码]
def setSpecialPublicInvoice(self,publicInvoice,invoiceNum):
SetDate(self.driver,self.date_button_xpath,publicInvoice[0])
self.setIncomeInvoiceType(publicInvoice[1])
date_button_xpath = '//*[@id="datePiker"]/span/span[2]'
SetDate(self.driver,date_button_xpath,publicInvoice[0])
self.setInvoiceType(publicInvoice[1])
self.setOtherInfo(publicInvoice[2])
self.setInvoiceNum(invoiceNum)
# 记收票-专票
# 记收票-专票 通过点击保存并新增按钮
def recordSpecialIncomeInvoice(self,publicInvoice,invoiceNum,specialItems):
self.setSpecialPublicInvoice(publicInvoice,invoiceNum)
self.setSpecialInvoiceItems(specialItems)
self.clickSaveButton()
self.clickSaveAndAdd()
#设置开票-记账日期,发票类别,发票状态,对方信息,发票号码 outputPublic [记账日期,发票类别,发票状态,对方信息] outputInvoiceNum 发票号码
def setOutputInvoicePublic(self,outputPublic,outputInvoiceNum):
SetDate(self.driver,'//*[@id="datePiker"]/span/span[2]',outputPublic[0])
self.setInvoiceType(outputPublic[1])
self.setInvoiceStatus(outputPublic[2])
self.setOtherInfo(outputPublic[3])
self.setInvoiceNum(outputInvoiceNum)
#设置开票明细-类别,部门性质,税率,价税合计金额,备注 outputItems [类别,部门性质,税率,价税合计金额,备注]
def setOutputInvoiceItems(self,outputItems):
self.setCategory(outputItems[0])
self.setDepartment(outputItems[1])
self.setRate(outputItems[2])
self.setMoney(outputItems[3])
self.setRemark(outputItems[4])
# 记开票 通过点击保存并新增按钮
def recordOutputInvoice(self,outputPublic,outputInvoiceNum,outputItems):
self.setOutputInvoicePublic(outputPublic,outputInvoiceNum)
self.setOutputInvoiceItems(outputItems)
self.clickSaveAndAdd()

View File

@ -11,7 +11,7 @@ class LoginPage:
self.url = url
self.driver = driver
def login(self,username,password):
def login(self,account):
#open url
self.driver.get(self.url)
#locate username
@ -19,13 +19,13 @@ class LoginPage:
#clear username text
username_text.clear()
#input username
username_text.send_keys(username)
username_text.send_keys(account[0])
#locate password
password_text = self.driver.find_element_by_id(self.pass_text_id)
#clear password
password_text.clear()
#input password
password_text.send_keys(password)
password_text.send_keys(account[1])
#locate login button
login_button = self.driver.find_element_by_id(self.login_button_id)
#click login button

View File

@ -19,8 +19,7 @@ class LoginTest(unittest.TestCase):
def test_login(self):
loginPage = LoginPage(self.url, self.driver)
loginPage.login(self.pythonData['username'],
self.pythonData['password'])
loginPage.login(['18514509382','qq123456'])
self.assertEqual("杨春红",self.driver.find_element_by_xpath('//*[@id="personalInfoDropdownMenu"]/span').text)
def tearDown(self):

View File

@ -7,8 +7,10 @@ from collections import Iterator
from HTMLTestRunner import HTMLTestRunner
sys.path.append(os.path.abspath(os.path.dirname(__file__) + '/' + '../../'))
from test_case.login.login_page import LoginPage
from transaction_page import TransactionPage
from test_data.record_outcome_data import *
from .transaction_page import TransactionPage
from test_data.record_income_data import *
from util.enter_company_util import EnterCompany
from config import *
#前置条件:新账套
@ -17,13 +19,9 @@ class RecordIncomeSpec(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.baseUrl = 'https://web-gyz-stage.guanplus.com'
login_page = LoginPage(self.baseUrl, self.driver)
login_page.login('18514509382', 'qq123456')
EnterCompany(self.driver,Environment)
transaction_page = TransactionPage(self.driver,'income')
transaction_page.goToCompany('testau1')
transaction_page.goToTransactionModule(self.baseUrl)
transaction_page.goToTransactionModule(BaseUrl)
transaction_page.goToTransactionPage('记收入')
def test1(self):
@ -37,7 +35,7 @@ class RecordIncomeSpec(unittest.TestCase):
'''交易账户-空校验'''
transaction_page = TransactionPage(self.driver,'income')
transaction_page.setCategory('1',['1','利息收入'])
transaction_page.setCategory('1',['1','1'])
transaction_page.setMoney('123')
transaction_page.clickSaveButton()
self.assertEqual('请填写交易账户!',self.driver.find_element_by_xpath('//*[@id="body"]/detail/income/div/div[1]/alert/div').text[-8:])
@ -56,43 +54,55 @@ class RecordIncomeSpec(unittest.TestCase):
'''金额-空校验'''
transaction_page = TransactionPage(self.driver,'income')
transaction_page.setCategory('1',['1','利息收入'])
transaction_page.setCategory('1',['1','1'])
transaction_page.setAccount('现金')
transaction_page.clickSaveButton()
self.assertEqual('金额不能为0',self.driver.find_element_by_xpath('//*[@id="body"]/detail/income/div/div[1]/alert/div').text[-7:])
# self.assertEqual('请填写完整!',self.driver.find_element_by_xpath('//*[@id="body"]/detail/income/div/div[1]/alert/div').text[-6:])
def test5(self):
'''金额为0测试'''
transaction_page = TransactionPage(self.driver,'income')
transaction_page.setCategory('1',['1','利息收入'])
transaction_page.setCategory('1',['1','1'])
transaction_page.setAccount('现金')
transaction_page.setMoney('0')
transaction_page.clickSaveButton()
self.assertEqual('金额不能为0',self.driver.find_element_by_xpath('//*[@id="body"]/detail/income/div/div[1]/alert/div').text[-7:])
# self.assertEqual('请填写完整!',self.driver.find_element_by_xpath('//*[@id="body"]/detail/income/div/div[1]/alert/div').text[-6:])
def test6(self):
'''成功记一笔收入测试'''
transaction_page = TransactionPage(self.driver,'income')
transaction = ['1','现金','内部代表']
items1 = ['1',['1','利息收入'],'111','利息收入']
items1 = ['1',['1','1'],'111','利息收入']
transaction_page.recordTransaction(transaction,items1)
self.assertEqual(self.baseUrl + '/app/transaction/list',self.driver.current_url)
self.assertEqual('保存成功',self.driver.find_element_by_xpath('//*[@id="body"]/detail/income/div/div[1]/alert/div').text[-4:])
def test7(self):
'''成功记两笔明细支出测试'''
'''成功记两笔明细收入测试'''
transaction_page = TransactionPage(self.driver,'income')
publicTransaction = ['1','现金','内部代表']
items1 = ['1',['1','利息收入'],'111','利息收入']
items2 = ['2',['2','回收借出资金(收入)'],'121','资金往来']
items1 = ['1',['1','1'],'111','利息收入']
items2 = ['2',['2','1'],'121','资金往来']
transaction_page.setPublicTransaction(publicTransaction)
transaction_page.setTransactionItems(items1)
transaction_page.clickAddItems()
transaction_page.setTransactionItems(items2)
transaction_page.clickSaveButton()
self.assertEqual(self.baseUrl + '/app/transaction/list',self.driver.current_url)
self.assertEqual(BaseUrl + '/app/transaction/list',self.driver.current_url)
def test8(self):
'''成功记所有类别收入测试'''
transaction = ['1','现金','内部代表']
transaction_page = TransactionPage(self.driver,'income')
for income in RecordIncomeData:
transaction_page.recordTransaction(transaction,income)
transaction_page.goToTransactionModule(BaseUrl)
self.assertEqual(BaseUrl + '/app/transaction/list',self.driver.current_url)
def tearDown(self):
self.driver.quit()

View File

@ -9,120 +9,90 @@ sys.path.append(os.path.abspath(os.path.dirname(__file__) + '/' + '../../'))
from test_case.login.login_page import LoginPage
from .transaction_page import TransactionPage
from test_data.record_outcome_data import *
from util.enter_company_util import EnterCompany
from config import *
#前置条件:新账套
class RecordOutcomeSpec(unittest.TestCase):
''' 记支出测试 '''
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.baseUrl = 'http://guanplus-app-accountingfirm-web-test.cn-north-1.eb.amazonaws.com.cn'
login_page = LoginPage(self.baseUrl, self.driver)
login_page.login('18514509382', 'qq123456')
transaction_page = TransactionPage(self.driver,'outcome')
transaction_page.goToCompany('2206一般纳税人')
transaction_page.goToTransactionModule(self.baseUrl)
transaction_page.goToTransactionPage('记支出')
EnterCompany(self.driver,Environment)
self.transaction_page = TransactionPage(self.driver,'outcome')
self.transaction_page.goToTransactionModule(BaseUrl)
self.transaction_page.goToTransactionPage('记支出')
def test1(self):
'''全空校验'''
transaction_page = TransactionPage(self.driver,'outcome')
transaction_page.clickSaveButton()
self.transaction_page.clickSaveButton()
self.assertEqual('请填写交易账户!',self.driver.find_element_by_xpath('//*[@id="body"]/detail/outcome/div/div[1]/alert/div').text[-8:])
def test2(self):
'''交易账户-空校验'''
transaction_page = TransactionPage(self.driver,'outcome')
transaction_page.setCategory('1',['1','银行费用'])
transaction_page.setMoney('123')
transaction_page.clickSaveButton()
self.transaction_page.setCategory('1',['1','1'])
self.transaction_page.setMoney('123')
self.transaction_page.clickSaveButton()
self.assertEqual('请填写交易账户!',self.driver.find_element_by_xpath('//*[@id="body"]/detail/outcome/div/div[1]/alert/div').text[-8:])
def test3(self):
'''类别-空校验'''
transaction_page = TransactionPage(self.driver,'outcome')
transaction_page.setItemsNum('1')
transaction_page.setAccount('现金')
transaction_page.setMoney('111')
transaction_page.clickSaveButton()
self.transaction_page.setItemsNum('1')
self.transaction_page.setAccount('现金')
self.transaction_page.setMoney('111')
self.transaction_page.clickSaveButton()
self.assertEqual('请填写完整!',self.driver.find_element_by_xpath('//*[@id="body"]/detail/outcome/div/div[1]/alert/div').text[-6:])
def test4(self):
'''金额-空校验'''
transaction_page = TransactionPage(self.driver,'outcome')
transaction_page.setCategory('1',['1','银行费用'])
transaction_page.setAccount('现金')
transaction_page.clickSaveButton()
self.transaction_page.setCategory('1',['1','1'])
self.transaction_page.setAccount('现金')
self.transaction_page.clickSaveButton()
self.assertEqual('金额不能为0',self.driver.find_element_by_xpath('//*[@id="body"]/detail/outcome/div/div[1]/alert/div').text[-7:])
def test5(self):
'''金额为0测试'''
transaction_page = TransactionPage(self.driver,'outcome')
transaction_page.setCategory('1',['1','银行费用'])
transaction_page.setAccount('现金')
transaction_page.setMoney('0')
transaction_page.clickSaveButton()
self.transaction_page.setCategory('1',['1','1'])
self.transaction_page.setAccount('现金')
self.transaction_page.setMoney('0')
self.transaction_page.clickSaveButton()
self.assertEqual('金额不能为0',self.driver.find_element_by_xpath('//*[@id="body"]/detail/outcome/div/div[1]/alert/div').text[-7:])
def test6(self):
'''成功记一笔支出测试'''
transaction_page = TransactionPage(self.driver,'outcome')
transaction = ['1','现金','内部代表']
items1 = ['1',['1','银行费用'],'111','行政支出']
transaction_page.recordTransaction(transaction,items1)
self.assertEqual(self.baseUrl + '/app/transaction/list',self.driver.current_url)
items1 = ['1',['1','1'],'111','行政支出']
self.transaction_page.recordTransaction(transaction,items1)
self.assertEqual('保存成功',self.driver.find_element_by_xpath('//*[@id="body"]/detail/outcome/div/div[1]/alert/div').text[-4:])
def test7(self):
'''成功记两笔明细支出测试'''
transaction_page = TransactionPage(self.driver,'outcome')
publicTransaction = ['1','现金','内部代表']
items1 = ['1',['1','银行费用'],'111','行政支出']
items2 = ['2',['2','临时借出资金'],'211','资金往来']
transaction_page.setPublicTransaction(publicTransaction)
transaction_page.setTransactionItems(items1)
transaction_page.clickAddItems()
transaction_page.setTransactionItems(items2)
transaction_page.clickSaveButton()
self.assertEqual(self.baseUrl + '/app/transaction/list',self.driver.current_url)
items1 = ['1',['1','1'],'111','行政支出']
items2 = ['2',['2','1'],'211','资金往来']
self.transaction_page.setPublicTransaction(publicTransaction)
self.transaction_page.setTransactionItems(items1)
self.transaction_page.clickAddItems()
self.transaction_page.setTransactionItems(items2)
self.transaction_page.clickSaveButton()
self.assertEqual(BaseUrl + '/app/transaction/list',self.driver.current_url)
def test8(self):
'''成功记所有类别支出测试'''
transaction = ['1','现金','内部代表']
transaction_page = TransactionPage(self.driver,'outcome')
for outcome in recordOutcomeData:
for outcome in RecordOutcomeData:
transaction_page.recordTransaction(transaction,outcome)
transaction_page.goToTransactionPage('记支出')
self.assertEqual(self.baseUrl + '/app/transaction/list',self.driver.current_url)
# def test8(self):
# '''记支出-生成凭证测试'''
# n = 0
# transaction = ['1','现金','内部代表']
# transaction_page = TransactionPage(self.driver,'outcome')
# for outcome,vocherFirst in zip(recordOutcomeData,outcomeVoucherFirst):
# n = n + 1
# transaction_page.recordTransaction(transaction,outcome)
# transaction_page.goToVoucherPage(self.baseUrl)
# voucherFirstXpath = '//*[@id="body"]/finance/div/voucher/div[1]/div[3]/div[1]/div/table/tbody[' + str(n) + ']/tr[1]/td[4]'
# self.assertEqual(vocherFirst[0],self.driver.find_element_by_xpath(voucherFirstXpath).text)
# transaction_page.goToTransactionModule(self.baseUrl)
# transaction_page.goToTransactionPage('记支出')
# if 10 == n:
# self.driver.find_element_by_xpath('//*[@id="body"]/finance/div/voucher/div[1]/div[3]/div[2]/div/pagination/ul/li[4]/a').click()
# n = 0
# transaction_page.goToTransactionModule(self.baseUrl)
# self.assertEqual('支出合计: 4,359.00',self.driver.find_element_by_xpath('//*[@id="body"]/list/div/div[5]/div[2]/span').text)
transaction_page.goToTransactionModule(BaseUrl)
self.assertEqual(BaseUrl + '/app/transaction/list',self.driver.current_url)
def tearDown(self):
self.driver.quit()

View File

@ -1,8 +1,9 @@
import time
import sys
import os
import logging
sys.path.append(os.path.abspath(os.path.dirname(__file__) + '/' + '../..'))
from util.setDate_util import SetDate
from util.set_date_util import SetDate
class TransactionPage:
@ -12,54 +13,42 @@ class TransactionPage:
global itemsNumber
itemsNumber = itemsNum
def __init__(self, driver,classify):
def __init__(self, driver,transactionType):
self.driver = driver
self.classify = classify
# 记一笔按钮
self.record_buttton_xpath = '//*[@id="body"]/list/div/div[2]/div/ol/li[3]/button[2]'
# 选择账户按钮
self.account_button_xpath = '//*[@id="body"]/list/div/div[2]/div/ol/li[3]/div/button[1]'
# 选择账户下拉菜单按钮
self.account_dropdown_xpath = '//*[@id="body"]/list/div/div[2]/div/ol/li[3]/div/button[2]'
#日历控件按钮
self.date_button_xpath = '//*[@id="body"]/detail/outcome/div/div[2]/form/div[1]/div/p-calendar/span/span[2]'
self.transactionType = transactionType
# 进入账套
def goToCompany(self, companyName):
self.driver.find_element_by_link_text(companyName).click()
time.sleep(5)
# 进入收支模块
# 进入收支列表
def goToTransactionModule(self,baseUrl):
self.driver.get(baseUrl + '/app/transaction/list')
time.sleep(5)
# 进入记收支模块
# 进入记收支页面
def goToTransactionPage(self, transactionName):
self.driver.find_element_by_xpath(self.record_buttton_xpath).click()
time.sleep(5)
self.driver.find_element_by_link_text(transactionName).click()
time.sleep(5)
try:
self.driver.find_element_by_xpath('//*[@id="body"]/list/div/div[2]/div/ol/li[3]/button[2]').click()
time.sleep(5)
self.driver.find_element_by_link_text(transactionName).click()
time.sleep(5)
except Exception as e:
print('====================================进入记收支页面失败……==============================')
logging.exception(e)
#进入凭证列表页面
def goToVoucherPage(self,baseUrl):
self.driver.get(baseUrl + '/app/finance/voucher')
time.sleep(5)
# 点击选择账户导入按钮
def clickAccountButton(self):
self.driver.find_element_by_xpath(self.account_button_xpath).click()
# 设置交易账户
def setAccount(self, accountName):
account_name_xpath = '//*[@id="body"]/detail/'+ self.classify + '/div/div[2]/form/div[2]/div/ng-select/div/div[2]/span'
account_name_xpath = '//*[@id="body"]/detail/'+ self.transactionType + '/div/div[2]/form/div[2]/div/ng-select/div/div[2]/span'
self.driver.find_element_by_xpath(account_name_xpath).click()
time.sleep(3)
self.driver.find_element_by_link_text(accountName).click()
# 设置对方信息
def setOtherInfo(self, otherInfo):
otherInfo_xpath = '//*[@id="body"]/detail/'+ self.classify + '/div/div[2]/form/div[3]/div/ng-select/div/div[2]/span'
otherInfo_xpath = '//*[@id="body"]/detail/'+ self.transactionType + '/div/div[2]/form/div[3]/div/ng-select/div/div[2]/span'
self.driver.find_element_by_xpath(otherInfo_xpath).click()
time.sleep(3)
self.driver.find_element_by_link_text(otherInfo).click()
@ -70,45 +59,55 @@ class TransactionPage:
itemsNumber = itemNum
categoryButton = ''
if int(itemNum) < 2:
categoryButton = '//*[@id="body"]/detail/' + self.classify + '/div/div[3]/div/table/tbody[1]/tr/th/ng-select/div/div[2]/span'
categoryButton = '//*[@id="body"]/detail/' + self.transactionType + '/div/div[3]/div/table/tbody[1]/tr/th/ng-select/div/div[2]/span'
else:
categoryButton = '//*[@id="body"]/detail/' + self.classify + '/div/div[3]/div/table/tbody[1]/tr[' + itemNum + ']/th/ng-select/div/div[2]/span'
categoryButton = '//*[@id="body"]/detail/' + self.transactionType + '/div/div[3]/div/table/tbody[1]/tr[' + itemNum + ']/th/ng-select/div/div[2]/span'
self.driver.find_element_by_xpath(categoryButton).click()
time.sleep(5)
firstXpath = '//*[@id="body"]/detail/' + self.classify + '/div/div[3]/div/table/tbody[1]/tr/th/ng-select/div/div[2]/ul/li[' + category[0] + ']/div/div[1]'
time.sleep(3)
firstXpath = '//*[@id="body"]/detail/' + self.transactionType + '/div/div[3]/div/table/tbody[1]/tr/th/ng-select/div/div[2]/ul/li[' + category[0] + ']/div/div[1]'
self.driver.find_element_by_xpath(firstXpath).click()
time.sleep(5)
self.driver.find_element_by_link_text(category[1]).click()
time.sleep(3)
if int(category[1]) == 1:
secondXpath = '//*[@id="body"]/detail/'+ self.transactionType + '/div/div[3]/div/table/tbody[1]/tr/th/ng-select/div/div[2]/div/div[1]/div/button/div'
else:
secondXpath = '//*[@id="body"]/detail/'+ self.transactionType + '/div/div[3]/div/table/tbody[1]/tr/th/ng-select/div/div[2]/div/div['+ category[1] +']/div[2]/button/div'
self.driver.find_element_by_xpath(secondXpath).click()
#设置金额
def setMoney(self,money):
if int(itemsNumber) < 2:
moneyXpath = '//*[@id="body"]/detail/'+ self.classify + '/div/div[3]/div/table/tbody[1]/tr/td[1]/bp-input/input'
moneyXpath = '//*[@id="body"]/detail/'+ self.transactionType + '/div/div[3]/div/table/tbody[1]/tr/td[1]/bp-input/input'
else:
moneyXpath = '//*[@id="body"]/detail/'+ self.classify + '/div/div[3]/div/table/tbody[1]/tr[' + itemsNumber + ']/td[1]/bp-input/input'
moneyXpath = '//*[@id="body"]/detail/'+ self.transactionType + '/div/div[3]/div/table/tbody[1]/tr[' + itemsNumber + ']/td[1]/bp-input/input'
self.driver.find_element_by_xpath(moneyXpath).clear()
self.driver.find_element_by_xpath(moneyXpath).send_keys(money)
#设置备注
def setRemark(self,remark=None):
if int(itemsNumber) < 2:
remarkXpath = '//*[@id="body"]/detail/' + self.classify + '/div/div[3]/div/table/tbody[1]/tr/td[2]/input'
remarkXpath = '//*[@id="body"]/detail/' + self.transactionType + '/div/div[3]/div/table/tbody[1]/tr/td[2]/input'
else:
remarkXpath = '//*[@id="body"]/detail/' + self.classify + '/div/div[3]/div/table/tbody[1]/tr[' + itemsNumber + ']/td[2]/input'
remarkXpath = '//*[@id="body"]/detail/' + self.transactionType + '/div/div[3]/div/table/tbody[1]/tr[' + itemsNumber + ']/td[2]/input'
self.driver.find_element_by_xpath(remarkXpath).clear()
self.driver.find_element_by_xpath(remarkXpath).send_keys(remark)
#点击新增明细按钮-新增一行
def clickAddItems(self):
addItemsXpath = '//*[@id="body"]/detail/'+ self.classify + '/div/div[4]/div[1]/a'
addItemsXpath = '//*[@id="body"]/detail/'+ self.transactionType + '/div/div[4]/div[1]/a'
self.driver.find_element_by_xpath(addItemsXpath).click()
#点击保存按钮
def clickSaveButton(self):
saveButtonXpath = '//*[@id="body"]/detail/' + self.classify + '/div/div[5]/div/span/button[2]'
saveButtonXpath = '//*[@id="body"]/detail/' + self.transactionType + '/div/div[5]/div/span/button[2]'
self.driver.find_element_by_xpath(saveButtonXpath).click()
time.sleep(5)
#点击保存并新增按钮
def clickSaveAndAddButton(self):
saveAndButtonXpath = '//*[@id="body"]/detail/' + self.transactionType + '/div/div[5]/div/span/button[1]'
self.driver.find_element_by_xpath(saveAndButtonXpath).click()
time.sleep(3)
#设置明细:类别,金额,备注 items 是一个list [类别,金额,备注]
def setTransactionItems(self,items):
category = items[1]
@ -118,18 +117,65 @@ class TransactionPage:
#设置收支的记账日期,交易账户,对方信息 publicTransaction 是一个list,[记账日期,交易账户,对方信息]
def setPublicTransaction(self,publicTransaction):
SetDate(self.driver,self.date_button_xpath,publicTransaction[0])
date_button_xpath = '//*[@id="body"]/detail/'+ self.transactionType +'/div/div[2]/form/div[1]/div/p-calendar/span/span[2]'
SetDate(self.driver,date_button_xpath,publicTransaction[0])
self.setAccount(publicTransaction[1])
self.setOtherInfo(publicTransaction[2])
# 记收支
# 记收支-> 点击保存并新增按钮循环记收支
def recordTransaction(self,publicTransaction,items):
self.setPublicTransaction(publicTransaction)
self.setTransactionItems(items)
self.clickSaveButton()
self.clickSaveAndAddButton()
# 记多笔收支
def recordTransactions(self,publicTransaction,items):
self.setPublicTransaction(publicTransaction)
self.setTransactionItems(items)
self.clickSaveButton()
#####################################################账户互转##############################################################################
# 设置转出账户
def setTransferOut(self,accountOutName):
self.driver.find_element_by_xpath('//*[@id="body"]/detail/accounttransfers/div/div[2]/div/form/div[2]/ng-select[1]/div/div[2]/span').click()
time.sleep(2)
self.driver.find_element_by_link_text(accountOutName)
#设置转入账户
def setTransferIn(self,accountInName):
self.driver.find_element_by_xpath('//*[@id="body"]/detail/accounttransfers/div/div[2]/div/form/div[2]/ng-select[2]/div/div[2]/span').click()
time.sleep(2)
self.driver.find_element_by_link_text(accountInName)
#设置资金流向 accountNames[转出账户,转入账户]
def setFundFlow(self,accountOutName,accountInName):
self.setTransferOut(accountOutName)
self.setTransferIn(accountInName)
#账户互转-设置金额
def setTransferMoney(self,money):
self.driver.find_element_by_xpath('//*[@id="body"]/detail/accounttransfers/div/div[2]/div/form/div[3]/bp-input/input').clear()
self.driver.find_element_by_xpath('//*[@id="body"]/detail/accounttransfers/div/div[2]/div/form/div[3]/bp-input/input').send_keys(money)
#账户互转-设置备注
def setTransferRemark(self,remark=None):
self.driver.find_element_by_xpath('//*[@id="body"]/detail/accounttransfers/div/div[2]/div/form/div[4]/input').clear()
self.driver.find_element_by_xpath('//*[@id="body"]/detail/accounttransfers/div/div[2]/div/form/div[4]/input').send_keys(money)
#账户互转-点击保存按钮
def transferClickSaveButton(self):
self.driver.find_element_by_xpath('//*[@id="body"]/detail/accounttransfers/div/div[3]/div/span/button[2]').click()
time.sleep(5)
#账户互转-点击保存并新增按钮
def transferClickSaveAndAddButton(self):
self.driver.find_element_by_xpath('//*[@id="body"]/detail/accounttransfers/div/div[3]/div/span/button[1]').click()
time.sleep(2)
#记账户互转-点击保存并新增 transferPara [记账日期,转出账户,转入账户,金额,备注]
def recordTransfer(self,transferPara):
dateButtonXPath = '//*[@id="body"]/detail/accounttransfers/div/div[2]/div/form/div[1]/p-calendar/span/span[2]'
SetDate(self.driver,dateButtonXPath,transferPara[0])
self.setFundFlow(transferPara[1],transferPara[2])
self.setTransferMoney(transferPara[3])
self.setTransferRemark(transferPara[4])
self.transferClickSaveAndAddButton()
#删除记账日期
def deleteDate(self):
self.driver.find_element_by_xpath('//*[@id="body"]/detail/accounttransfers/div/div[2]/div/form/div[1]/p-calendar/span/span[1]').click()
time.sleep(1)

View File

@ -1,59 +0,0 @@
import unittest
import sys
import os
from selenium import webdriver
import time
from HTMLTestRunner import HTMLTestRunner
sys.path.append(os.path.abspath(os.path.dirname(__file__) + '/' + '../../'))
from test_case.login.login_page import LoginPage
from transaction_page import TransactionPage
from test_data.record_outcome_data import *
#前置条件:新账套
class TransactionVoucherSpec(unittest.TestCase):
''' 记支出测试 '''
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.baseUrl = 'http://guanplus-app-accountingfirm-web-test.cn-north-1.eb.amazonaws.com.cn'
login_page = LoginPage(self.baseUrl, self.driver)
login_page.login('18514509382', 'qq123456')
transaction_page = TransactionPage(self.driver,'outcome')
transaction_page.goToCompany('2206一般纳税人')
transaction_page.goToTransactionModule(self.baseUrl)
transaction_page.goToTransactionPage('记支出')
def test1(self):
'''记支出-生成凭证测试'''
n = 0
m = 0
transaction = ['1','现金','内部代表']
transaction_page = TransactionPage(self.driver,'outcome')
for outcome,vocherFirst in zip(recordOutcomeData,outcomeVoucherFirst):
n = n + 1
m = m + 1
transaction_page.recordTransaction(transaction,outcome)
transaction_page.goToVoucherPage(self.baseUrl)
if m >= 11:
self.driver.find_element_by_xpath('//*[@id="body"]/finance/div/voucher/div[1]/div[3]/div[2]/div/pagination/ul/li[4]/a').click()
time.sleep(3)
voucherFirstXpath = '//*[@id="body"]/finance/div/voucher/div[1]/div[3]/div[1]/div/table/tbody[' + str(n) + ']/tr[1]/td[4]'
self.assertEqual(vocherFirst[0],self.driver.find_element_by_xpath(voucherFirstXpath).text)
transaction_page.goToTransactionModule(self.baseUrl)
transaction_page.goToTransactionPage('记支出')
if 10 == n:
n = 0
transaction_page.goToTransactionModule(self.baseUrl)
self.assertEqual('支出合计: 4,359.00',self.driver.find_element_by_xpath('//*[@id="body"]/list/div/div[5]/div[2]/span').text)
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()

View File

@ -1,5 +1,5 @@
#收入类别
incomeCategory = [
IncomeCategoryData = [
['1','利息收入'],
['2','回收借出资金(收入)'],
['2','收到临时借入款(收入)'],
@ -10,20 +10,20 @@ incomeCategory = [
['4','应收账款']
]
#收入金额共计1,025.00元 收入记录8条
recordIncomeData = [
['1',['1','利息收入'],'111','利息收入'],
['1',['2','回收借出资金(收入)'],'121','资金往来'],
['1',['2','收到临时借入款(收入)'],'122','资金往来'],
['1',['3','收回投资利息(收入)'],'131','投资&融资'],
['1',['3','收回投资本金(收入)'],'132','投资&融资'],
['1',['3','收到投资款'],'133','投资&融资'],
['1',['3','银行贷款(收入)'],'134','投资&融资'],
['1',['4','应收账款'],'141','应收账款']
#收入测试数据 金额共计测试数据1,025.00元 收入记录8条
RecordIncomeData = [
['1',['1','1'],'111','利息收入-利息收入'],
['1',['2','1'],'121','资金往来-回收借出资金(收入)'],
['1',['2','2'],'122','资金往来-收到临时借入款(收入)'],
['1',['3','1'],'131','投资&融资-收回投资利息(收入)'],
['1',['3','2'],'132','投资&融资-收回投资本金(收入)'],
['1',['3','3'],'133','投资&融资-收到投资款'],
['1',['3','4'],'134','投资&融资-银行贷款(收入)'],
['1',['4','1'],'141','应收账款-应收账款']
]
#所有收入类别对应的凭证分录
outcomeVoucherFirst = [
OutcomeVoucherFirstData = [
['560302—手续费用'],
['12210101—临时借出资金'],
['22410101—临时借入款'],

View File

@ -1,5 +1,5 @@
#支出类别
outcomeCategory = [
OutcomeCategoryData = [
['1','银行费用'],
['2','临时借出资金'],
['2','归还临时借入'],
@ -20,30 +20,30 @@ outcomeCategory = [
['6','应付账款']
]
#支出金额共计4,359.00元 支出记录18条
recordOutcomeData = [
['1',['1','银行费用'],'211','行政支出'],
['1',['2','临时借出资金'],'221','资金往来'],
['1',['2','归还临时借入'],'222','资金往来'],
['1',['3','对外投资款'],'231','投资&融资'],
['1',['3','归还银行贷款'],'232','投资&融资'],
['1',['3','贷款利息'],'233','投资&融资'],
['1',['4','应付工资奖金'],'241','应付职工薪酬'],
['1',['4','应付社保费'],'242','应付职工薪酬'],
['1',['4','应付公积金'],'243','应付职工薪酬'],
['1',['4','应付劳务费'],'244','应付职工薪酬'],
['1',['5','应交增值税'],'251','应交税费'],
['1',['5','应交城建税'],'252','应交税费'],
['1',['5','应交教育费附加'],'253','应交税费'],
['1',['5','应交地方教育附加'],'254','应交税费'],
['1',['5','应交个税'],'255','应交税费'],
['1',['5','应交印花税'],'256','应交税费'],
['1',['5','应交所得税'],'257','应交税费'],
['1',['6','应付账款'],'261','应付账款']
#支出测试数据 金额共计4,359.00元 支出记录18条
RecordOutcomeData = [
['1',['1','1'],'211','行政支出-银行费用'],
['1',['2','1'],'221','资金往来-临时借出资金'],
['1',['2','2'],'222','资金往来-归还临时借入'],
['1',['3','1'],'231','投资&融资-对外投资款'],
['1',['3','2'],'232','投资&融资-归还银行贷款'],
['1',['3','3'],'233','投资&融资-贷款利息'],
['1',['4','1'],'241','应付职工薪酬-应付工资奖金'],
['1',['4','2'],'242','应付职工薪酬-应付社保费'],
['1',['4','3'],'243','应付职工薪酬-应付公积金'],
['1',['4','4'],'244','应付职工薪酬-应付劳务费'],
['1',['5','1'],'251','应交税费-应交增值税'],
['1',['5','2'],'252','应交税费-应交城建税'],
['1',['5','3'],'253','应交税费-应交教育费附加'],
['1',['5','4'],'254','应交税费-应交地方教育附加'],
['1',['5','5'],'255','应交税费-应交个税'],
['1',['5','6'],'256','应交税费-应交印花税'],
['1',['5','7'],'257','应交税费-应交所得税'],
['1',['6','1'],'261','应付账款-应付账款']
]
#所有支出类别对应的凭证分录
outcomeVoucherFirst = [
OutcomeVoucherFirstData = [
['560302—手续费用'],
['12210101—临时借出资金'],
['22410101—临时借入款'],