51Testing软件测试论坛

标题: python+selenium脚本运行退出但没报错,如何在脚本中让他打印出错误 [打印本页]

作者: nanguofeng1987    时间: 2016-7-20 17:33
标题: python+selenium脚本运行退出但没报错,如何在脚本中让他打印出错误
#coding=utf-8

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
from selenium.webdriver.support.ui import WebDriverWait

import unittest, time, re
import HTMLTestRunner  #引入HTMLTestRunner包,记录测试报告

import lvfunc


class test_networkmonitor_apinfo(unittest.TestCase):
    __setupok = 0
    def setUp(self):
      self.__setupok = lvfunc.lvlogin(self)
   
    def test_001(self):
      try:  
        if self.__setupok == 1:
            return
        driver = self.driver
        #点击管理进入相应的场所
        driver.find_element_by_xpath("//a/span[contains(text(),'管理')]").click()
        #判断当前页面是否存在设备概览
##        WebDriverWait(driver, 10).until(lambda the_driver: the_driver.find_element_by_xpath("//a/span[contains(text(),'设备概览')]").is_displayed())
        time.sleep(5)
        #默认界面接口,确保当前页面时默认界面,网络监控——>设备概览
       lvfunc.lvdefaultPage(driver)   ——————————————————运行到这的时候,脚本就退出了,显示结果ok,实际上都没有运行完,
        print 1111
        
        driver.find_element_by_xpath("//a/span[contains(text(),'AP信息')]").click()
        WebDriverWait(driver, 10).until(lambda the_driver: the_driver.find_element_by_xpath("//div/span[contains(text(),'AP数量')]").is_displayed())        
        time.sleep(6)
        ---------等等
作者: 清晨一缕阳光    时间: 2016-7-21 08:12
你红色字体标注的是自己写的一个类?如果是的话能不能把代码贴出来。
作者: 若尘_51    时间: 2016-7-21 08:46
因为你用的python异常机制:
try:
执行语句

即使里面的语句执行失败了,也不会报错的。 你只有在其他地方加些处理(例如:打印)。  

try:
    正常的操作
   ......................
except:
    发生异常,执行这块代码
   ......................
else:
    如果没有异常执行这块代码
作者: nanguofeng1987    时间: 2016-7-21 14:38
清晨一缕阳光 发表于 2016-7-21 08:12
你红色字体标注的是自己写的一个类?如果是的话能不能把代码贴出来。

#以下是封装的接口
def lvdefaultPage(driver):  
  #判断当前页面是否存在设备设备概览页面,是返回,不是就点击网络监控->设备概览
  if WebDriverWait(driver, 10).until(lambda the_driver: the_driver.find_element_by_xpath("//a/span[contains(text(),'设备概览')]").is_displayed()):
    return
  else:
    driver.find_element_by_xpath("//url/li/a[contains(text(),'网络监控')]").click()
    time.sleep(3)
    driver.find_element_by_xpath("//url/li/a/span[contains(text(),'设备概览')]").click()
    time.sleep(2)
   
作者: nanguofeng1987    时间: 2016-7-21 14:43
若尘_51 发表于 2016-7-21 08:46
因为你用的python异常机制:
try:
执行语句

这个脚本我使用的异常是try:  except 机制,脚本太长没有贴完,但是也没有报错信息
作者: 若尘_51    时间: 2016-7-21 15:33
nanguofeng1987 发表于 2016-7-21 14:43
这个脚本我使用的异常是try:  except 机制,脚本太长没有贴完,但是也没有报错信息

你在except语句中,添加你需要打印的内容,应该就能显示出来~~~
作者: nanguofeng1987    时间: 2016-8-8 10:22
若尘_51 发表于 2016-7-21 15:33
你在except语句中,添加你需要打印的内容,应该就能显示出来~~~

知道原因了,时间太短,延长等待时间就ok,这个时间延迟的问题还需要解决
作者: nanguofeng1987    时间: 2016-8-8 10:22
若尘_51 发表于 2016-7-21 15:33
你在except语句中,添加你需要打印的内容,应该就能显示出来~~~

知道原因了,时间太短,延长等待时间就ok,这个时间延迟的问题还需要解决
作者: nanguofeng1987    时间: 2016-8-8 10:22
若尘_51 发表于 2016-7-21 15:33
你在except语句中,添加你需要打印的内容,应该就能显示出来~~~

知道原因了,时间太短,延长等待时间就ok,这个时间延迟的问题还需要解决
作者: gdshine    时间: 2016-8-17 18:24
学习了,收藏先
作者: gdshine    时间: 2016-8-23 15:52
学习了,收藏先
作者: gdshine    时间: 2016-8-24 10:25
不错,很好,支持楼主




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2