Beispiel #1
0
    def sendEmail(self, subject="cctv"):
        start = time.time()
        driver = Pyse("chrome")
        try:

            # driver.implicitly_wait() # 添加了隐式等待,去除time.sleep显示等待
            # driver.max_window()
            driver.open("http://mail.10086.cn/")

            time.sleep(3)
            driver.element_wait(r"name=>UserName", 10)
            driver.element_wait(r"id=>loginBtn", 10)

            driver.clear("name=>UserName")
            driver.type("name=>UserName", self.username)

            driver.type("id=>txtPass", self.pwd)
            driver.click("id=>loginBtn")

            time.sleep(1)
            driver.click("name=>mailbox_1")

            # 收件箱
            driver.element_wait(r"xpath=>//*[@id='divTab']/ul/li[1]/span", 10)
            driver.element_wait(r"xpath=>//*[@id='sub']", 10)

            time.sleep(3)
            print("点击写信页: %r" %
                  driver.get_display(r"xpath=>//a[@id='btn_compose']"))
            driver.click(r"xpath=>//a[@id='btn_compose']")

            time.sleep(3)
            print('切换frame: %r' % driver.get_display(
                r"xpath=>//*[@id='compose_preload' and @class='main-iframe']"))
            driver.switch_to_frame(
                r"xpath=>//*[@id='compose_preload' and @class='main-iframe']")

            time.sleep(2)
            print('输入收件人: %r' % driver.get_display(
                r"xpath=>//*[@id='toContainer']/div/div[2]/div[2]/input"))
            driver.type(
                r"xpath=>//*[@id='toContainer']/div/div[2]/div[2]/input",
                self.receiver)

            time.sleep(3)
            print('输入主题: %r' %
                  driver.get_display(r"xpath=>//input[@id='txtSubject']"))
            # driver.click(r"xpath=>//input[@id='txtSubject']")
            driver.type(r"xpath=>//input[@id='txtSubject']", subject)

            print('点击发送')
            driver.click("id=>topSend")

            #             print('等待完成')
            #             driver.element_wait(r"xpath=>//*[@id='snedStatus']", 10)
            start = time.time()
            time.sleep(1)

        except BaseException as e:
            print('运行出错!!!')

            # driver.get_windows_img(r"D:\%s.jpg " %(start))
            print(e)
        finally:
            driver.quit()
            return start
Beispiel #2
0
    def test_book_meeting(self):
        ''' 
		book meeting room
		'''
        email = 'bjzhangjiwei'
        passwd = 'Zjw163163'

        date = self.get_date()
        if date is None: return
        driver = Pyse("chrome")
        driver.max_window()

        #login
        driver.open("http://meeting.oa.netease.com/oaMeeting/login.jsp#login")
        while not driver.get_display("class=>email-suffix"):
            driver.click_text(u"邮箱登录")
        driver.clear("name=>loginid")
        driver.type("name=>loginid", email)
        driver.clear("name=>userpassword")
        driver.type("name=>userpassword", passwd)
        driver.click_text(u"立即登录")
        sleep(3)
        self.assertEqual(
            "http://meeting.oa.netease.com/oaMeeting/bjroom.jsp#home/city",
            driver.get_url())

        #输入筛选条件
        '''
		js = "document.getElementsByClassName('ac_selectCalendar')[0].getAttribute('value')"
		driver.js(js)
		today = driver.get_attribute("name=>date", 'value')
		tomorrow = today.split('-')[:2] + [str(int(today.split('-')[2]) + 1)]
		tomorrow = '-'.join(tomorrow)
		'''
        js = "document.getElementsByName('date')[0].setAttribute('value', '" + date + "')"
        driver.js(js)
        sleep(2)
        driver.click('class=>ac_settingFloor')
        sleep(1)
        driver.click(
            "xpath=>//*[@id='jq-interactive-sprite']/table/tbody/tr[2]/td[2]/div/div[4]/div[1]/div[2]/ul/li[7]"
        )
        sleep(1)
        driver.click("class=>ac_interactiveConfirm")
        sleep(2)

        #选择上午会议室
        driver.click(
            'xpath=>//html/body/div[3]/div[2]/div/div[2]/div[2]/div[2]/table/tbody/tr[3]/td[3]/div/dl[1]/dd/ul/li[6]'
        )
        driver.click(
            'xpath=>//html/body/div[3]/div[2]/div/div[2]/div[2]/div[2]/table/tbody/tr[3]/td[3]/div/dl[1]/dd/ul/li[3]'
        )
        driver.click(
            'xpath=>//html/body/div[3]/div[2]/div/div[2]/div[2]/div[2]/table/tbody/tr[3]/td[4]/a'
        )
        sleep(2)
        driver.click(
            "xpath=>//*[@id='jq-interactive-sprite']/table/tbody/tr[2]/td[2]/div/div[4]/div/dl[4]/dd/div"
        )
        while not driver.get_display(
                "xpath=>//*[@id='neteaseUser']/div/div[3]/div[2]/div/div[1]/div/div[1]/ul/li[1]/strong"
        ):
            sleep(2)
        driver.double_click(
            "xpath=>//*[@id='neteaseUser']/div/div[3]/div[2]/div/div[1]/div/div[1]/ul/li[8]/strong"
        )
        driver.click(
            "xpath=>//*[@id='jq-interactive-MultiNeteaseUser']/table/tbody/tr[2]/td[2]/div/div[5]/em[1]/a"
        )
        driver.type(
            "xpath=>//*[@id='jq-interactive-sprite']/table/tbody/tr[2]/td[2]/div/div[4]/div/dl[5]/dd/input",
            'Regular meeting')
        driver.click(
            "xpath=>//*[@id='jq-interactive-sprite']/table/tbody/tr[2]/td[2]/div/div[5]/em[1]/a"
        )
        sleep(3)

        #选择下午会议室
        driver.click(
            'xpath=>//html/body/div[3]/div[2]/div/div[2]/div[2]/div[2]/table/tbody/tr[3]/td[3]/div/dl[2]/dd[1]/ul/li[6]'
        )
        driver.click(
            'xpath=>//html/body/div[3]/div[2]/div/div[2]/div[2]/div[2]/table/tbody/tr[3]/td[3]/div/dl[2]/dd[1]/ul/li[3]'
        )
        driver.click(
            'xpath=>//html/body/div[3]/div[2]/div/div[2]/div[2]/div[2]/table/tbody/tr[3]/td[4]/a'
        )
        sleep(2)
        driver.click(
            "xpath=>//*[@id='jq-interactive-sprite']/table/tbody/tr[2]/td[2]/div/div[4]/div/dl[4]/dd/div"
        )
        while not driver.get_display(
                "xpath=>//*[@id='neteaseUser']/div/div[3]/div[2]/div/div[1]/div/div[1]/ul/li[1]/strong"
        ):
            sleep(2)
        driver.double_click(
            "xpath=>//*[@id='neteaseUser']/div/div[3]/div[2]/div/div[1]/div/div[1]/ul/li[8]/strong"
        )
        driver.click(
            "xpath=>//*[@id='jq-interactive-MultiNeteaseUser']/table/tbody/tr[2]/td[2]/div/div[5]/em[1]/a"
        )
        driver.type(
            "xpath=>//*[@id='jq-interactive-sprite']/table/tbody/tr[2]/td[2]/div/div[4]/div/dl[5]/dd/input",
            'Regular meeting')
        driver.click(
            "xpath=>//*[@id='jq-interactive-sprite']/table/tbody/tr[2]/td[2]/div/div[5]/em[1]/a"
        )
        sleep(3)

        #验证预定成功
        self.assertTrue(driver.get_display("class=>mine-booked"))
        driver.click("xpath=>//html/body/div[3]/div[1]/div[2]/a[2]")
        sleep(2)
        self.assertEqual(
            "http://meeting.oa.netease.com/oaMeeting/bjroom.jsp#mine",
            driver.get_url())
        driver.driver.get_screenshot_as_file('meeting.jpg')
        #js =" var str = ''; var arr = document.getElementsByClassName('time-item');for (var i in arr){str += arr[i].innerHTML;}"
        #print str(driver.js(js))
        row_len = len(
            driver.driver.find_elements_by_xpath(
                "//html/body/div[3]/div[2]/div/div/div/div[2]/table/tbody/tr"))
        datetime = ''
        for i in range(1, row_len + 1):
            datetime += driver.get_element(
                'xpath=>//html/body/div[3]/div[2]/div/div/div/div[2]/table/tbody/tr[%d]/td[4]'
                % i).text.encode('utf-8')
        self.assertTrue(date in datetime)

        driver.quit()