51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2429|回复: 12
打印 上一主题 下一主题

[已解决-使用] 求解

[复制链接]
  • TA的每日心情
    开心
    2017-2-23 09:15
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]测试连长

    跳转到指定楼层
    1#
    发表于 2016-11-24 10:56:37 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    # -*- 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
    import unittest, time, re

    class Qi(unittest.TestCase):
        def setUp(self):
            self.driver = webdriver.Firefox()
            self.driver.implicitly_wait(30)
            self.base_url = "http://test.robotscloud.com/"
            self.verificationErrors = []
            self.accept_next_alert = True

        def test_qi(self):
            driver = self.driver
            driver.get(self.base_url + "/admindocmanage/admin_doc_center")
            driver.find_element_by_id("email").send_keys("2@163.com")
            driver.find_element_by_id("password").send_keys("123456")
            driver.find_element_by_id("submit").click()
            driver.find_element_by_link_text(u"系统管理").click()
            driver.find_element_by_link_text(u"下载管理").click()
            driver.find_element_by_id("search-input").click()
            driver.find_element_by_id("search-input").clear()
            driver.find_element_by_id("search-input").send_keys(u"想")
            driver.find_element_by_id("btn-search").click()
            driver.find_element_by_id("search-input").clear()
            driver.find_element_by_id("search-input").send_keys(u"狗")
            driver.find_element_by_id("btn-search").click()
            driver.find_element_by_id("search-input").clear()
            driver.find_element_by_id("search-input").send_keys("l")
            driver.find_element_by_id("btn-search").click()
            driver.find_element_by_id("search-input").clear()
            driver.find_element_by_id("search-input").send_keys(u"的")
            driver.find_element_by_id("btn-search").click()
            driver.find_element_by_id("addUser").click()
            driver.find_element_by_css_selector("span.label").click()
            driver.find_element_by_css_selector("li.last").click()
            driver.find_element_by_xpath("//div[@id='modal-body-dialog']/form/div[2]/div/div[2]/span").click()
            driver.find_element_by_xpath("//div[@id='modal-body-dialog']/form/div[2]/div/div[3]/div/ul/li[2]").click()
            driver.find_element_by_id("chooseImg").click()
            driver.find_element_by_xpath("//div[@id='modal-body-dialog']/form/div[5]/table/tbody/tr/td[3]/img").click()
            driver.find_element_by_class_name("up_text").send_keys(u"F:/cylan-2.4.9.840-2016111818-(test.jfgou.com)-Inhouse)")
            driver.find_element_by_xpath("//div[@id='modal-body-dialog']/form/div[7]/div/div[2]/span").click()
            driver.find_element_by_xpath("//div[@id='modal-body-dialog']/form/div[7]/div/div[3]/div/ul/ul/li[2]").click()
            driver.find_element_by_name("abstract").clear()
            driver.find_element_by_name("abstract").send_keys(u"221谔谔")
            driver.find_element_by_id("journal").clear()
            driver.find_element_by_id("journal").send_keys(u"2呃3呃3呃呃")
    #        driver.find_element_by_css_selector("#sizzle1479805746127 > label.radio-label.form-label1").click()
            driver.find_element_by_id("sendEmail").click()
            driver.find_element_by_xpath("//div[@id='modal-body-dialog']/form/div[11]/div/div[2]/span").click()
            driver.find_element_by_xpath("//div[@id='modal-body-dialog']/form/div[11]/div/div[3]/div/ul/li[5]").click()
            driver.find_element_by_id("confirm").click()
    #        driver.find_element_by_id("search-input").click()
    #        driver.find_element_by_id("search-input").clear()
            driver.find_element_by_id("search-input").send_keys("")
    #        driver.find_element_by_id("btn-search").click()
            driver.find_element_by_class_name(u"编辑").click()
            driver.find_element_by_name("abstract").clear()
            driver.find_element_by_name("abstract").send_keys(u"221谔谔;/i/;")
            driver.find_element_by_xpath("//div[@id='modal-body-dialog']/form/div[7]/div/div[2]/span").click()
            driver.find_element_by_css_selector("ul.selectric-group > li.last").click()
            driver.find_element_by_id("journal").clear()
            driver.find_element_by_id("journal").send_keys(u"2呃3呃3呃呃i/i/i/i//i/;/;/")
            driver.find_element_by_id("confirm").click()
            driver.find_element_by_link_text(u"操作日志").click()
        def is_element_present(self, how, what):
            try: self.driver.find_element(by=how, value=what)
            except NoSuchElementException as e: return False
            return True

        def is_alert_present(self):
            try: self.driver.switch_to_alert()
            except NoAlertPresentException as e: return False
            return True

        def close_alert_and_get_its_text(self):
            try:
                alert = self.driver.switch_to_alert()
                alert_text = alert.text
                if self.accept_next_alert:
                    alert.accept()
                else:
                    alert.dismiss()
                return alert_text
            finally: self.accept_next_alert = True

        def tearDown(self):
            self.driver.quit()
            self.assertEqual([], self.verificationErrors)

    if __name__ == "__main__":
        unittest.main()
    报这个错误
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "C:\Users\admin\Desktop\qi.py", line 62, in test_qi
        driver.find_element_by_xpath(u"(//a[contains(text(),'缂栬緫')])[10]").click()
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 293, in find_element_by_xpath
        return self.find_element(by=By.XPATH, value=xpath)
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 752, in find_element
        'value': value})['value']
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute
        self.error_handler.check_response(response)
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response
        raise exception_class(message, screen, stacktrace)
    NoSuchElementException: Message: Unable to locate element: {"method":"xpath","selector":"(//a[contains(text(),'\u7f16\u8f91')])[10]"}
    Stacktrace:
        at FirefoxDriver.prototype.findElementInternal_ (file:///c:/users/admin/appdata/local/temp/tmp8jg6hk/extensions/fxdriver@googlecode.com/components/driver-component.js:10770)
        at fxdriver.Timer.prototype.setTimeout/<.notify (file:///c:/users/admin/appdata/local/temp/tmp8jg6hk/extensions/fxdriver@googlecode.com/components/driver-component.js:625)

    ----------------------------------------------------------------------
    Ran 1 test in 52.406s

    FAILED (errors=1)
    >>>
    =================== RESTART: C:\Users\admin\Desktop\qi.py ===================
    E
    ======================================================================
    ERROR: test_qi (__main__.Qi)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "C:\Users\admin\Desktop\qi.py", line 62, in test_qi
        driver.find_element_by_class_name(u"缂栬緫").click()
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 413, in find_element_by_class_name
        return self.find_element(by=By.CLASS_NAME, value=name)
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 752, in find_element
        'value': value})['value']
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute
        self.error_handler.check_response(response)
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response
        raise exception_class(message, screen, stacktrace)
    NoSuchElementException: Message: Unable to locate element: {"method":"class name","selector":"\u7f16\u8f91"}
    Stacktrace:
        at FirefoxDriver.prototype.findElementInternal_ (file:///c:/users/admin/appdata/local/temp/tmpi6zugx/extensions/fxdriver@googlecode.com/components/driver-component.js:10770)
        at fxdriver.Timer.prototype.setTimeout/<.notify (file:///c:/users/admin/appdata/local/temp/tmpi6zugx/extensions/fxdriver@googlecode.com/components/driver-component.js:625)

    ----------------------------------------------------------------------
    Ran 1 test in 50.527s

    FAILED (errors=1)


    这个运行现象是没有上传到文件    但报的错误是编辑那个地方,但编辑那个地方换了  class_name  link_text 几种定位都报错求解




    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-23 09:15
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]测试连长

    13#
     楼主| 发表于 2016-11-24 15:36:38 | 只看该作者
    若尘_51 发表于 2016-11-24 15:24
    报错信息是到编辑这里出错的,你跑一下脚本,看看到底是到哪一步失败了。  
    这个一步一步调吧, 其他还 ...

    跑的脚本是页面显示的是上传文件那里报错,导致进行不下去,但看报错的信息是编辑那里错误,只能一步步调试了,  真是谢谢了帮忙想了这么多办法
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-11-7 16:44
  • 签到天数: 290 天

    连续签到: 1 天

    [LV.8]测试军长

    12#
    发表于 2016-11-24 15:24:43 | 只看该作者
    15889369825 发表于 2016-11-24 15:20
    我觉得不是这个编辑问题,而是这个driver.find_element_by_class_name("up_text").send_keys(u"F:/cylan- ...

    报错信息是到编辑这里出错的,你跑一下脚本,看看到底是到哪一步失败了。  
    这个一步一步调吧, 其他还没有涉及的地方先屏蔽~~~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-23 09:15
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]测试连长

    11#
     楼主| 发表于 2016-11-24 15:20:38 | 只看该作者
    若尘_51 发表于 2016-11-24 15:16
    再试试这个:        driver.find_element_by_xpath("//div[@data-id='52']/td[8]/a").click()

    我觉得不是这个编辑问题,而是这个driver.find_element_by_class_name("up_text").send_keys(u"F:/cylan-2.4.9.840-2016111818-(test.jfgou.com)-Inhouse)")  文件没有上传上去导致  ,因为我的页面这里没有成功上传文件点击确认就会报错
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-11-7 16:44
  • 签到天数: 290 天

    连续签到: 1 天

    [LV.8]测试军长

    10#
    发表于 2016-11-24 15:16:07 | 只看该作者

    再试试这个:        driver.find_element_by_xpath("//div[@data-id='52']/td[8]/a").click()
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-23 09:15
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]测试连长

    9#
     楼主| 发表于 2016-11-24 15:04:41 | 只看该作者
    若尘_51 发表于 2016-11-24 14:46
    你把那个编辑选项,详细的HTML路径给我发一下(如:/html/body/.......)

    22

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-11-7 16:44
  • 签到天数: 290 天

    连续签到: 1 天

    [LV.8]测试军长

    8#
    发表于 2016-11-24 14:46:00 | 只看该作者
    15889369825 发表于 2016-11-24 14:31
    不行,还是报错
    Traceback (most recent call last):
      File "C:%users\admin\Desktop\qi.py", line 62 ...

    你把那个编辑选项,详细的HTML路径给我发一下(如:/html/body/.......)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-23 09:15
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]测试连长

    7#
     楼主| 发表于 2016-11-24 14:31:58 | 只看该作者
    若尘_51 发表于 2016-11-24 14:15
    试试:driver.find_element_by_xpath("//a[@class='green-class'][9]").click()

    不行,还是报错
    Traceback (most recent call last):
      File "C:\Users\admin\Desktop\qi.py", line 62, in test_qi
        driver.find_element_by_xpath("//a[@class='green-class'][9]").click()
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 293, in find_element_by_xpath
        return self.find_element(by=By.XPATH, value=xpath)
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 752, in find_element
        'value': value})['value']
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute
        self.error_handler.check_response(response)
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response
        raise exception_class(message, screen, stacktrace)
    NoSuchElementException: Message: Unable to locate element: {"method":"xpath","selector":"//a[@class='green-class'][9]"}
    Stacktrace:
        at FirefoxDriver.prototype.findElementInternal_ (file:///c:/users/admin/appdata/local/temp/tmpus9fcw/extensions/fxdriver@googlecode.com/components/driver-component.js:10770)
        at fxdriver.Timer.prototype.setTimeout/<.notify (file:///c:/users/admin/appdata/local/temp/tmpus9fcw/extensions/fxdriver@googlecode.com/components/driver-component.js:625)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-11-7 16:44
  • 签到天数: 290 天

    连续签到: 1 天

    [LV.8]测试军长

    6#
    发表于 2016-11-24 14:15:47 | 只看该作者
    15889369825 发表于 2016-11-24 13:48
    单独跑注销那段代码,直接跑编辑开始,你说的序号加1怎么加

    试试:driver.find_element_by_xpath("//a[@class='green-class'][9]").click()
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-23 09:15
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]测试连长

    5#
     楼主| 发表于 2016-11-24 13:48:38 | 只看该作者
    若尘_51 发表于 2016-11-24 13:46
    driver.find_element_by_xpath("//a[@class='green-class']").click()
    使用这个应该定位到序号为1的编辑 ...

    单独跑注销那段代码,直接跑编辑开始,你说的序号加1怎么加
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-11-7 16:44
  • 签到天数: 290 天

    连续签到: 1 天

    [LV.8]测试军长

    4#
    发表于 2016-11-24 13:46:14 | 只看该作者
    15889369825 发表于 2016-11-24 11:37
    换成driver.find_element_by_xpath("//a[@class='green-class']").click()  这个单独跑编辑这块没有问题 ...

    driver.find_element_by_xpath("//a[@class='green-class']").click()
    使用这个应该定位到序号为1的编辑吧?

    你是怎么单独跑可以成功的?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-23 09:15
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]测试连长

    3#
     楼主| 发表于 2016-11-24 11:37:10 | 只看该作者
    若尘_51 发表于 2016-11-24 11:22
    driver.find_element_by_class_name(u"编辑").click() ???  
    应该是 driver.find_element_by_link_text ...

    换成driver.find_element_by_xpath("//a[@class='green-class']").click()  这个单独跑编辑这块没有问题,但下面 这块跑,就报 driver.find_element_by_xpath("//a[@class='green-class']").click() 错误
    driver.find_element_by_id("addUser").click()
            driver.find_element_by_css_selector("span.label").click()
            driver.find_element_by_css_selector("li.last").click()
            driver.find_element_by_xpath("//div[@id='modal-body-dialog']/form/div[2]/div/div[2]/span").click()
            driver.find_element_by_xpath("//div[@id='modal-body-dialog']/form/div[2]/div/div[3]/div/ul/li[2]").click()
            driver.find_element_by_id("chooseImg").click()
            driver.find_element_by_xpath("//div[@id='modal-body-dialog']/form/div[5]/table/tbody/tr/td[3]/img").click()
            driver.find_element_by_class_name("up_text").send_keys(u"F:/cylan-2.4.9.840-2016111818-(test.jfgou.com)-Inhouse)")
            driver.find_element_by_xpath("//div[@id='modal-body-dialog']/form/div[7]/div/div[2]/span").click()
            driver.find_element_by_xpath("//div[@id='modal-body-dialog']/form/div[7]/div/div[3]/div/ul/ul/li[2]").click()
            driver.find_element_by_name("abstract").clear()
            driver.find_element_by_name("abstract").send_keys(u"221谔谔")
            driver.find_element_by_id("journal").clear()
            driver.find_element_by_id("journal").send_keys(u"2呃3呃3呃呃")
    #        driver.find_element_by_css_selector("#sizzle1479805746127 > label.radio-label.form-label1").click()
            driver.find_element_by_id("sendEmail").click()
            driver.find_element_by_xpath("//div[@id='modal-body-dialog']/form/div[11]/div/div[2]/span").click()
            driver.find_element_by_xpath("//div[@id='modal-body-dialog']/form/div[11]/div/div[3]/div/ul/li[5]").click()
            driver.find_element_by_id("confirm").click()
    #        driver.find_element_by_id("search-input").click()
    #        driver.find_element_by_id("search-input").clear()
            driver.find_element_by_id("search-input").send_keys("")
    #        driver.find_element_by_id("btn-search").click()
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-11-7 16:44
  • 签到天数: 290 天

    连续签到: 1 天

    [LV.8]测试军长

    2#
    发表于 2016-11-24 11:22:51 | 只看该作者
    driver.find_element_by_class_name(u"编辑").click() ???  
    应该是 driver.find_element_by_link_text(u"编辑").click(),不过你这里太多编辑的链接了,用不了这种方法
    你试试xpath的定位方式吧

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 积极回复获得测试积点10

    查看全部评分

    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-15 15:12 , Processed in 0.072366 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表