51Testing软件测试论坛

标题: python [打印本页]

作者: 15889369825    时间: 2016-12-23 14:02
标题: python

# -*- 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 test (unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.implicitly_wait(30)
        self.base_url = "http://test.robotscloud.com/"
        self.verificationErrors = []
        self.accept_next_alert = True

    def test_89(self):
        driver = self.driver
        driver.get(self.base_url + "/")
        driver.find_element_by_id("email").send_keys("15889369825@163.com")
        driver.find_element_by_id("password").send_keys("123456")
        driver.find_element_by_id("check").send_keys("1111")
        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("addUser").click()
        time.sleep(2)
        driver.find_element_by_id("product_type").click()
        driver.find_element_by_link_text(u"申请").click()
        driver.find_element_by_id("entryTypeName").send_keys(u"付额外夫妇对方会儿防护回复回复而文化符号符合符合无法负责无回复33u3u2heu32e23e 3额饿3 3额の2额3额3饿のの の2额 额3饿3 饿饿3 额32饿")
        driver.find_element_by_css_selector("span.label").click()
        driver.find_element_by_css_selector("li.last").click()
        driver.find_element_by_id("explain").clear()
        driver.find_element_by_id("explain").send_keys(u"2の2 额3额3额23饿3 饿")
        driver.find_element_by_css_selector("#modelAddModel2 > div.modal-dialog.modal-type-1 > div.modal-body > form.form-horizontal > div.form-group.button-group > button.btn.btn-blue").click()
        driver.find_element_by_id(u"addUser").click()
        driver.find_element_by_css_selector("#modelAddModel > div.modal-dialog.modal-type-1 > div.modal-content > div.modal-header > button.close").click()
        time.sleep(2)
        driver.find_element_by_link_text(u"新增").click()
        driver.find_element_by_id("product_type").click()
        time.sleep(2)
        driver.find_element_by_link_text("//span[@value='8']").click()
        driver.find_element_by_xpath("(//button[@type='button'])[13]").click()
        driver.find_element_by_id("product_type").click()
        driver.find_element_by_xpath("//div[@id='modelAddModel']/div/div/div[2]/form/div/div[2]").click()
        driver.find_element_by_id("model_name").clear()
        driver.find_element_by_id("model_name").send_keys(u"手机产品")
        driver.find_element_by_xpath("(//button[@type='button'])[13]").click()
        driver.find_element_by_id("product_name").clear()
        driver.find_element_by_id("product_name").send_keys(u"手机")
        driver.find_element_by_xpath("(//button[@type='button'])[13]").click()
        driver.find_element_by_css_selector("div.radio.second > label.radio-label").click()
        driver.find_element_by_css_selector("div.radio.second > label.radio-label > input[name=\"radio\"]").click()
        driver.find_element_by_xpath("(//button[@type='button'])[13]").click()
        driver.find_element_by_xpath("(//button[@type='button'])[13]").click()
        driver.find_element_by_xpath("(//button[@type='button'])[12]").click()

怎么反复定位driver.find_element_by_id(u"addUser").click()   


作者: 若尘_51    时间: 2016-12-23 14:40
童靴,这么抛出一句:反复定位driver.find_element_by_id(u"addUser").click() ?
别人很难知道你具体要怎么样的,还是描述清楚点。

作者: 15889369825    时间: 2016-12-23 14:49
若尘_51 发表于 2016-12-23 14:40
童靴,这么抛出一句:反复定位driver.find_element_by_id(u"addUser").click() ?
别人很难知道你具体要怎 ...

就是我第一次调用了adduser   新增完后   我在想新增第二次   第三次这样  我要怎么办
作者: 若尘_51    时间: 2016-12-23 15:51
15889369825 发表于 2016-12-23 14:49
就是我第一次调用了adduser   新增完后   我在想新增第二次   第三次这样  我要怎么办

用For循环不就可以了吗?
作者: 15889369825    时间: 2016-12-23 16:15
若尘_51 发表于 2016-12-23 15:51
用For循环不就可以了吗?

能在我上传文本中插入for看看么,我加入的跑不通
作者: 若尘_51    时间: 2016-12-23 16:25
15889369825 发表于 2016-12-23 16:15
能在我上传文本中插入for看看么,我加入的跑不通

好吧,写个代码给你参考下:

#--------功能:循环执行多次-----------------
#text_value值有多少个就循环多少次,不过可以继续加
text_value = [u"测试1",u"测试2",u"测试3",u"测试4"]

#或者可以写成for num in range(4):     --数字几代表执行几次
for num in range(len(text_value)):
    driver.find_element_by_id("addUser").click()
    time.sleep(2)
    driver.find_element_by_id("product_type").click()
    driver.find_element_by_link_text(u"申请").click()
    ...
    #将text_value的值依次(键盘输入)给xpath为xxx的元素
    driver.find_element_by_xpath("xxx").send_keys(text_value[num])      
    time.sleep(1)
    ...
作者: 15889369825    时间: 2016-12-23 16:38
若尘_51 发表于 2016-12-23 16:25
好吧,写个代码给你参考下:

#--------功能:循环执行多次-----------------

谢谢,好好参考下
作者: 梦想家    时间: 2016-12-24 09:08

作者: qiguojie    时间: 2016-12-30 15:52
引入ddt吧
作者: nanguofeng1987    时间: 2017-1-3 15:05
for循环可以解决




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