def test_strategy_bl_case91(self): """情景分析""" strategy = StrategyBlModel(self.driver) strategy.execute_script_up() time.sleep(2) strategy.strategy_bl_scene() '''压力测试''' # 断言,A股市场事件 error_mes = strategy.find_element( 'xpath=>//*[@id="stressTestTab"]/tbody/tr[2]/td[1]').text try: assert error_mes == u'中美贸易战升级' print('A股市场事件 pass') except Exception as e: print('A股市场事件 fail', format(e)) print(error_mes) time.sleep(2) # 断言,A股市场日期范围 error_mes = strategy.find_element( 'xpath=>//*[@id="stressTestTab"]/tbody/tr[2]/td[2]').text try: assert error_mes == u'2018-08-01 - 2018-08-20' print('A股市场日期范围 pass') except Exception as e: print('A股市场日期范围 fail', format(e)) print(error_mes) time.sleep(2) # 断言,A股市场基金涨跌幅 error_mes = strategy.find_element( 'xpath=>//*[@id="stressTestTab"]/tbody/tr[2]/td[3]').text try: assert error_mes != u'--' print('A股市场基金涨跌幅 pass') except Exception as e: print('A股市场基金涨跌幅 fail', format(e)) print(error_mes) time.sleep(2) # 断言,A股市场沪深300涨跌幅 error_mes = strategy.find_element( 'xpath=>//*[@id="stressTestTab"]/tbody/tr[2]/td[4]').text try: assert error_mes != u'--' print('A股市场沪深300涨跌幅 pass') except Exception as e: print('A股市场沪深300涨跌幅 fail', format(e)) print(error_mes) time.sleep(2) # 债券固收市场 strategy.find_element( 'xpath=>//*[@id="incomeUl"]/li[2]').click() # 点击债券固收市场 time.sleep(3) # 断言,债券固收市场事件 error_mes = strategy.find_element( 'xpath=>//*[@id="stressTestTab"]/tbody/tr[2]/td[1]').text try: assert error_mes == u'土耳其货币危机' print('债券固收市场事件 pass') except Exception as e: print('债券固收市场事件 fail', format(e)) print(error_mes) time.sleep(2) # 断言,债券固收市场日期范围 error_mes = strategy.find_element( 'xpath=>//*[@id="stressTestTab"]/tbody/tr[2]/td[2]').text try: assert error_mes == u'2018-08-10 - 2018-08-18' print('债券固收市场日期范围 pass') except Exception as e: print('债券固收市场日期范围 fail', format(e)) print(error_mes) time.sleep(2) # 断言,债券固收市场基金涨跌幅 error_mes = strategy.find_element( 'xpath=>//*[@id="stressTestTab"]/tbody/tr[2]/td[3]').text try: assert error_mes != u'--' print('债券固收市场基金涨跌幅 pass') except Exception as e: print('债券固收市场基金涨跌幅 fail', format(e)) print(error_mes) time.sleep(2) # 断言,债券固收市场沪深300涨跌幅 error_mes = strategy.find_element( 'xpath=>//*[@id="stressTestTab"]/tbody/tr[2]/td[4]').text try: assert error_mes != u'--' print('债券固收市场沪深300涨跌幅 pass') except Exception as e: print('债券固收市场沪深300涨跌幅 fail', format(e)) print(error_mes) time.sleep(2) # 管理期货市场 strategy.find_element( 'xpath=>//*[@id="incomeUl"]/li[3]').click() # 点击管理期货市场 time.sleep(3) # 断言,管理期货市场事件 error_mes = strategy.find_element( 'xpath=>//*[@id="stressTestTab"]/tbody/tr[1]/td[1]').text try: assert error_mes == u'2018黑色系牛市' print('管理期货市场事件 pass') except Exception as e: print('管理期货市场事件 fail', format(e)) print(error_mes) time.sleep(2) # 断言,管理期货市场日期范围 error_mes = strategy.find_element( 'xpath=>//*[@id="stressTestTab"]/tbody/tr[1]/td[2]').text try: assert error_mes == u'2018-07-26 - 2018-08-20' print('管理期货市场日期范围 pass') except Exception as e: print('管理期货市场日期范围 fail', format(e)) print(error_mes) time.sleep(2) # 断言,管理期货市场基金涨跌幅 error_mes = strategy.find_element( 'xpath=>//*[@id="stressTestTab"]/tbody/tr[1]/td[3]').text try: assert error_mes != u'--' print('管理期货市场基金涨跌幅 pass') except Exception as e: print('管理期货市场基金涨跌幅 fail', format(e)) print(error_mes) time.sleep(2) # 断言,基金涨跌幅沪深300涨跌幅 error_mes = strategy.find_element( 'xpath=>//*[@id="stressTestTab"]/tbody/tr[1]/td[4]').text try: assert error_mes != u'--' print('基金涨跌幅沪深300涨跌幅 pass') except Exception as e: print('基金涨跌幅沪深300涨跌幅 fail', format(e)) print(error_mes) time.sleep(2) '''市道分析''' # 市道分析 strategy.execute_script_down() # 浏览器往下 time.sleep(3) # 断言,市道分析 error_mes = strategy.find_element( 'xpath=>//*[@id="market-main-table"]/tbody/tr[1]/td[4]').text try: assert error_mes != u'--(0周)' print('市道分析 pass') except Exception as e: print('市道分析 fail', format(e)) print(error_mes) time.sleep(2)
def test_strategy_bl_case4(self): """策略组合""" strategy = StrategyBlModel(self.driver) # 断言,Benchmark error_mes = strategy.find_element( 'xpath=>//*[@id="createCompolicy"]/div/div/div[5]/div[2]/div[2]/table/tbody/tr/td[1]/div[2]' ).text try: assert error_mes == u'沪深300,南华商品指数' print('Benchmark pass') except Exception as e: print('Benchmark fail', format(e)) print(error_mes) time.sleep(2) # 断言,配置模式 error_mes = strategy.find_element( 'xpath=>//*[@id="createCompolicy"]/div/div/div[5]/div[2]/div[2]/table/tbody/tr/td[2]/div[2]' ).text try: assert error_mes == u'BL模型' print('配置模式 pass') except Exception as e: print('配置模式 fail', format(e)) print(error_mes) time.sleep(2) # 断言,内外样本区间 error_mes = strategy.find_element( 'xpath=>//*[@id="createCompolicy"]/div/div/div[5]/div[2]/div[2]/table/tbody/tr/td[3]/div[2]' ).text try: assert error_mes != u'--' print('内外样本区间 pass') except Exception as e: print('内外样本区间 fail', format(e)) print(error_mes) time.sleep(2) # 断言,目标既定 error_mes = strategy.find_element( 'xpath=>//*[@id="createCompolicy"]/div/div/div[5]/div[2]/div[2]/table/tbody/tr/td[4]/div[2]' ).text try: assert error_mes == u'预期年化夏普比最大' print('目标既定 pass') except Exception as e: print('目标既定 fail', format(e)) print(error_mes) time.sleep(2) # 断言,全样本区间约束条件 error_mes = strategy.find_element( 'xpath=>//*[@id="createCompolicy"]/div/div/div[5]/div[2]/div[2]/table/tbody/tr/td[5]/div[2]' ).text try: assert error_mes == u'预期年化收益率 >= 2%,预期年化波动率 <= 3%,预期无风险收益率=5%' print('全样本区间约束条件 pass') except Exception as e: print('全样本区间约束条件 fail', format(e)) print(error_mes) time.sleep(2) # 断言,指数名称 error_mes = strategy.find_element( 'xpath=>//*[@id="blcreatPrctbl"]/tbody/tr[1]/td[1]').text try: assert error_mes == u'私募全市场指数' print('指数名称 pass') except Exception as e: print('指数名称 fail', format(e)) print(error_mes) time.sleep(2) # 断言,区间最大回撤 error_mes = strategy.find_element( 'xpath=>//*[@id="blcreatPrctbl"]/tbody/tr[1]/td[2]').text try: assert error_mes != u'--' print('区间最大回撤 pass') except Exception as e: print('区间最大回撤 fail', format(e)) print(error_mes) time.sleep(2) # 断言,区间年化收益率 error_mes = strategy.find_element( 'xpath=>//*[@id="blcreatPrctbl"]/tbody/tr[1]/td[3]').text try: assert error_mes != u'--' print('区间年化收益率 pass') except Exception as e: print('区间年化收益率 fail', format(e)) print(error_mes) time.sleep(2) # 断言,区间年化夏普比 error_mes = strategy.find_element( 'xpath=>//*[@id="blcreatPrctbl"]/tbody/tr[1]/td[4]').text try: assert error_mes != u'--' print('区间年化夏普比 pass') except Exception as e: print('区间年化夏普比 fail', format(e)) print(error_mes) time.sleep(2) # 断言,区间年化波动率 error_mes = strategy.find_element( 'xpath=>//*[@id="blcreatPrctbl"]/tbody/tr[1]/td[5]').text try: assert error_mes != u'--' print('区间年化波动率 pass') except Exception as e: print('区间年化波动率 fail', format(e)) print(error_mes) time.sleep(2) # 断言,拟投资金额(万元) error_mes = strategy.find_element( 'xpath=>//*[@id="blcreatPrctbl"]/tbody/tr[1]/td[6]').text try: assert error_mes != u'--' print('拟投资金额(万元) pass') except Exception as e: print('拟投资金额(万元) fail', format(e)) print(error_mes) time.sleep(2) # 断言,拟投资比例 error_mes = strategy.find_element( 'xpath=>//*[@id="blcreatPrctbl"]/tbody/tr[1]/td[7]').text try: assert error_mes != u'--' print('拟投资比例 pass') except Exception as e: print('拟投资比例 fail', format(e)) print(error_mes) time.sleep(2) # 断言,有效边界 error_mes = strategy.find_element( 'xpath=>//*[@id="createCompolicy"]/div/div/div[5]/div[2]/div[4]/div[1]/div[1]/div/span' ).text try: assert error_mes == u'有效边界' print('有效边界 pass') except Exception as e: print('有效边界 fail', format(e)) print(error_mes) time.sleep(2) # 断言,组合回撤业绩指标 error_mes = strategy.find_element( 'xpath=>//*[@id="blTbldiv"]/div/div/span').text try: assert error_mes == u'组合回撤业绩指标' print('组合回撤业绩指标 pass') except Exception as e: print('组合回撤业绩指标 fail', format(e)) print(error_mes) time.sleep(2) # 断言,累计收益率 error_mes = strategy.find_element( 'xpath=>//*[@id="blTbldiv"]/table/tbody/tr[1]/td[1]/div[2]').text try: assert error_mes != u'--' print('累计收益率 pass') except Exception as e: print('累计收益率 fail', format(e)) print(error_mes) time.sleep(2) # 断言,年化收益率 error_mes = strategy.find_element( 'xpath=>//*[@id="blTbldiv"]/table/tbody/tr[1]/td[2]/div[2]').text try: assert error_mes != u'--' print('年化收益率 pass') except Exception as e: print('年化收益率 fail', format(e)) print(error_mes) time.sleep(2) # 断言,年化波动率 error_mes = strategy.find_element( 'xpath=>//*[@id="blTbldiv"]/table/tbody/tr[1]/td[3]/div[2]').text try: assert error_mes != u'--' print('年化波动率 pass') except Exception as e: print('年化波动率 fail', format(e)) print(error_mes) time.sleep(2) # 断言,年化下行标准差 error_mes = strategy.find_element( 'xpath=>//*[@id="blTbldiv"]/table/tbody/tr[2]/td[1]/div[2]').text try: assert error_mes != u'--' print('年化下行标准差 pass') except Exception as e: print('年化下行标准差 fail', format(e)) print(error_mes) time.sleep(2) # 断言,Sortino比率 error_mes = strategy.find_element( 'xpath=>//*[@id="blTbldiv"]/table/tbody/tr[2]/td[2]/div[2]').text try: assert error_mes != u'--' print('Sortino比率 pass') except Exception as e: print('Sortino比率 fail', format(e)) print(error_mes) time.sleep(2) # 断言,年化夏普比 error_mes = strategy.find_element( 'xpath=>//*[@id="blTbldiv"]/table/tbody/tr[2]/td[3]/div[2]').text try: assert error_mes != u'--' print('年化夏普比 pass') except Exception as e: print('年化夏普比 fail', format(e)) print(error_mes) time.sleep(2) # 断言,最大回撤 error_mes = strategy.find_element( 'xpath=>//*[@id="blTbldiv"]/table/tbody/tr[3]/td[1]/div[2]').text try: assert error_mes != u'--' print('最大回撤 pass') except Exception as e: print('最大回撤 fail', format(e)) print(error_mes) time.sleep(2) # 断言,最大回撤发生时间 error_mes = strategy.find_element( 'xpath=>//*[@id="blTbldiv"]/table/tbody/tr[3]/td[2]/div[2]').text try: assert error_mes != u'--' print('最大回撤发生时间 pass') except Exception as e: print('最大回撤发生时间 fail', format(e)) print(error_mes) time.sleep(2) # 断言,最大回撤形成期 error_mes = strategy.find_element( 'xpath=>//*[@id="blTbldiv"]/table/tbody/tr[3]/td[3]/div[2]').text try: assert error_mes != u'--' print('最大回撤形成期 pass') except Exception as e: print('最大回撤形成期 fail', format(e)) print(error_mes) time.sleep(2) # 断言,累计收益率 error_mes = strategy.find_element( 'xpath=>//*[@id="createCompolicy"]/div/div/div[5]/div[2]/div[5]/div/div[1]/div/span' ).text try: assert error_mes == u'累计收益率' print('累计收益率 pass') except Exception as e: print('累计收益率 fail', format(e)) print(error_mes) time.sleep(2) # 断言,期间收益率 error_mes = strategy.find_element( 'xpath=>//*[@id="createCompolicy"]/div/div/div[5]/div[2]/div[6]/div/div[1]/div/span' ).text try: assert error_mes == u'期间收益率' print('期间收益率 pass') except Exception as e: print('期间收益率 fail', format(e)) print(error_mes) time.sleep(2) # 断言,动态回撤 error_mes = strategy.find_element( 'xpath=>//*[@id="createCompolicy"]/div/div/div[5]/div[2]/div[7]/div[1]/div/span' ).text try: assert error_mes == u'动态回撤' print('动态回撤 pass') except Exception as e: print('动态回撤 fail', format(e)) print(error_mes) time.sleep(2) # 断言,预期平均年化收益率 error_mes = strategy.find_element( 'xpath=>//*[@id="createCompolicy"]/div/div/div[5]/div[2]/div[8]/div[1]/div/span' ).text try: assert error_mes == u'预期平均年化收益率' print('预期平均年化收益率 pass') except Exception as e: print('预期平均年化收益率 fail', format(e)) print(error_mes) time.sleep(2) # 断言,投资时间 error_mes = strategy.find_element( 'xpath=>//*[@id="blsecontTab"]/tbody/tr/td[1]').text try: assert error_mes != u'--' print('投资时间 pass') except Exception as e: print('投资时间 fail', format(e)) print(error_mes) time.sleep(2) # 断言,预期收益 error_mes = strategy.find_element( 'xpath=>//*[@id="blsecontTab"]/tbody/tr/td[2]').text try: assert error_mes != u'--' print('预期收益 pass') except Exception as e: print('预期收益 fail', format(e)) print(error_mes) time.sleep(2) # 断言,70%概率收益波动区间 error_mes = strategy.find_element( 'xpath=>//*[@id="blsecontTab"]/tbody/tr/td[3]').text try: assert error_mes != u'--' print('70%概率收益波动区间 pass') except Exception as e: print('70%概率收益波动区间 fail', format(e)) print(error_mes) time.sleep(2) strategy.execute_script_down() time.sleep(2) strategy.strategy_bl_compose()