#coding=utf-8
from selenium import webdriver
#from selenium.webdriver.remote import switch_to
#from selenium.webdriver.common import alert
#import unittest 
import time,os
from selenium.common.exceptions import NoAlertPresentException
def users_zidian():  #用户名用例用一个字典实现参数化调用#
    users={'zhengshuheng':'123456','609958331@qq.com':'4','zhh':'5','zhengshuheng':'','zheng':'','':'','z':5,'609958331@qq.com':'15970066750','?':'#'}  #用字典设计测试用例#
    #输入正确的用户名,错误的密码,输入正确的邮箱,错误的密码,输入错误的用户名和密码等等用例#
    l=len(users)  #获取字段的元素个数#
    print('成功读取%s个用户名和密码库!'%l)
    return users
i=0
for user,pwd in users_zidian().items():  #使用for循环和字典的items()方法遍历字典#
    i=i+1    #用来记录输入用户名和密码的次数#
    driver=webdriver.Firefox()
    driver.get('http://www.docin.com/app/login')
    driver.find_element_by_id("username1").clear()
    driver.find_element_by_id("username1").send_keys(user) #传递用例user参数#
    time.sleep(2)
    driver.find_element_by_id("password1").clear()
    driver.find_element_by_id("password1").send_keys(pwd)#传递用例pwd参数#
    time.sleep(5)
    driver.find_element_by_xpath("//input[@value='登录']").click()#使用Xpthon定位登录按钮#
    try:    #这里用try..excpt..语句处理,假如登录成功或者其他异常导致获取不到对话框的异常情况,try语句是可能会出现异常的语句,except是出现异常后的处理。#
        msg=driver.switch_to_alert()
        time.sleep(2)
        d=msg.text #获取点击登录后,弹出的对话框内容#
        m=msg.accept()#获取对话框焦点,接受对话框内容#
        if user=='':
            print('%s.输入用户名和密码都为空,提示如下:'%i)
        elif  pwd=='':
            print('%s.输入用户名%s和空密码%s,提示如下:'%(i,user,pwd))#打印输入的用户名和密码#
        else:
            print('%s.输入用户名和密码为%s,%s,提示如下:'%(i,user,pwd))#打印输入的用户名和密码#                  
        print(d)#打印对话框内容#
    except:
        #if user=='':
            #print('%s.输入用户名和密码都为空,提示如下:'%i)
        #elif  pwd=='':
            #print('%s.输入用户名%s和空密码%s,提示如下:'%(i,user,pwd))#打印输入的用户名和密码#
        #else:
            #print('%s.输入用户名和密码为%s,%s,提示如下:'%(i,user,pwd))#打印输入的用户名和密码#
        print('%s.登陆成功。用户名:%s,密码:%s,提示:' %(i,user,pwd))
        print(driver.title)
    time.sleep(2)
    driver.quit()
'''执行结果如下:
>>> ================================ RESTART ================================
>>> 
成功读取7个用户名和密码库!
1.输入用户名和密码都为空,提示如下:
对不起,请输入您的用户名或邮箱!
2.输入用户名zheng和空密码,提示如下:
请输入您的登录密码!
3.输入用户名和密码为zhh,5,提示如下:
登录邮箱或密码错误!
4.输入用户名和密码为?,#,提示如下:
登录邮箱或密码错误!
5。登陆成功.用户名:609958331@qq.com,密码:15970066750,提示:
docin.com豆丁网-分享文档 发现价值
6.输入用户名zhengshuheng和空密码,提示如下:
请输入您的登录密码!
7.输入用户名和密码为z,5,提示如下:
登录邮箱或密码错误!
>>> 
'''