本文整理汇总了Python中splinter.Browser.select方法的典型用法代码示例。如果您正苦于以下问题:Python Browser.select方法的具体用法?Python Browser.select怎么用?Python Browser.select使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类splinter.Browser
的用法示例。
在下文中一共展示了Browser.select方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: buyprd
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import select [as 别名]
def buyprd(u):
browser = Browser('firefox')
url = u
browser.visit(url)
# 10|10.5
browser.find_option_by_text(selectOption).first.click()
browser.find_by_name('commit').click()
if browser.is_text_present('item'):
print("Added to Cart")
else:
print("Error")
return
print "checking out"
browser.visit(checkoutUrl)
print "Filling Out Billing Info"
browser.fill("order[billing_name]", namefield)
browser.fill("order[email]", emailfield)
browser.fill("order[tel]", phonefield)
print "Filling Out Address"
browser.fill("order[billing_address]", addressfield)
browser.fill("order[billing_zip]", zipfield)
browser.select("order[billing_state]", statefield)
print "Filling Out Credit Card Info"
browser.select("credit_card[type]", cctypefield)
browser.fill("credit_card[number]", ccnumfield)
browser.select("credit_card[month]", ccmonthfield)
browser.select("credit_card[year]", ccyearfield)
browser.fill("credit_card[verification_value]", cccvcfield)
browser.find_by_css('.terms').click()
print "Submitting Info"
browser.find_by_name('commit').click()
sys.exit(0)
示例2: submitQueue
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import select [as 别名]
def submitQueue(NETID, PASSWORD, SECURITY_QUESTIONS):
browser = Browser()
# netid page
browser.visit("https://puaccess.princeton.edu/psp/hsprod/EMPLOYEE/HRMS/h/?tab=DEFAULT")
browser.fill('userid', NETID)
browser.find_by_value("Continue").first.click()
# password page
browser.fill('Bharosa_Password_PadDataField', PASSWORD)
browser.evaluate_script("Bharosa_Password_Pad.keyPress('ENTERKEY');")
# security question page
html = browser.html
for key in SECURITY_QUESTIONS.keys():
if key in html:
answer = SECURITY_QUESTIONS[key]
browser.fill('Bharosa_Challenge_PadDataField', answer)
browser.evaluate_script("Bharosa_Challenge_Pad.keyPress('ENTERKEY');")
time.sleep(2)
# welcome to SCORE
browser.find_link_by_text("Student Center").first.click()
# student center, start by busting out of the iframe
browser.visit("https://puaccess.princeton.edu/psc/hsprod/EMPLOYEE/HRMS/c/SA_LEARNER_SERVICES.SSS_STUDENT_CENTER.GBL?PORTALPARAM_PTCNAV=HC_SSS_STUDENT_CENTER&EOPP.SCNode=HRMS&EOPP.SCPortal=EMPLOYEE&EOPP.SCName=ADMN_SCORE&EOPP.SCLabel=&EOPP.SCPTcname=ADMN_SC_SP_SCORE&FolderPath=PORTAL_ROOT_OBJECT.PORTAL_BASE_DATA.CO_NAVIGATION_COLLECTIONS.ADMN_SCORE.ADMN_S200801281459482840968047&IsFolder=false&PortalActualURL=https%3a%2f%2fpuaccess.princeton.edu%2fpsc%2fhsprod%2fEMPLOYEE%2fHRMS%2fc%2fSA_LEARNER_SERVICES.SSS_STUDENT_CENTER.GBL&PortalContentURL=https%3a%2f%2fpuaccess.princeton.edu%2fpsc%2fhsprod%2fEMPLOYEE%2fHRMS%2fc%2fSA_LEARNER_SERVICES.SSS_STUDENT_CENTER.GBL&PortalContentProvider=HRMS&PortalCRefLabel=Student%20Center&PortalRegistryName=EMPLOYEE&PortalServletURI=https%3a%2f%2fpuaccess.princeton.edu%2fpsp%2fhsprod%2f&PortalURI=https%3a%2f%2fpuaccess.princeton.edu%2fpsc%2fhsprod%2f&PortalHostNode=HRMS&NoCrumbs=yes&PortalKeyStruct=yes")
browser.select('DERIVED_SSS_SCL_SSS_MORE_ACADEMICS', "1005")
browser.find_by_id("DERIVED_SSS_SCL_SSS_GO_1").first.click()
# pick semester
browser.choose("SSR_DUMMY_RECV1$sels$0", "1")
browser.find_by_id("DERIVED_SSS_SCT_SSR_PB_GO").first.click()
# select classes to add... class should already be in queue
browser.find_by_id("DERIVED_REGFRM1_LINK_ADD_ENRL$115$").first.click()
# confirm classes
browser.find_by_id("DERIVED_REGFRM1_SSR_PB_SUBMIT").first.click()
示例3: make
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import select [as 别名]
def make(b,c):
browser=Browser('chrome')
url='http://admin2.okzaijia.com.cn/Account/login'
browser.visit(url)
browser.find_by_id('UserName').fill('Tina')
browser.find_by_id('Password').fill('13916099416')
browser.find_by_id('LoginOn').click()
browser.find_by_xpath('/html/body/div[1]/div[1]/div/div[2]/div/div/ul/li/a').click()
if b==1:
browser.find_link_by_text(u'新增订单').click()
browser.windows.current=browser.windows[1]
#print browser.windows.current
textnew=browser.find_by_name('RepairContent')
textnew.fill(random.randint(10000,19999))
a=''.join([chr(random.randint(97,122)) for _ in range(4)])
browser.find_by_id('UserName').fill(a)
browser.find_by_id('UserMobile').fill(random.randint(15138460867,19000000000))
browser.select('Source',random.randint(1,10))
browser.select('AreaId',random.randint(801,819))
browser.find_by_id('UserAddress').fill(random.randint(3000,9999))
browser.find_by_xpath('//*[@id="submit"]').click()
time.sleep(2)
else:
browser.find_by_name('orderno').fill(c)
browser.find_by_xpath('//*[@id="searchForm"]/div[7]/button').click()
browser.find_by_text(u'维修记录').click()
browser.find_by_xpath("/html/body/div[1]/div[1]/div/div[2]/div[1]/a").click()
browser.windows.current=browser.windows[1]
b=''.join([chr(random.randint(97,122)) for _ in range(5)])
browser.find_by_name('RepairContent').fill(b)
browser.find_by_name('Remark').fill(random.randint(20000,29999))
browser.find_by_id('submit').click()
time.sleep(3)
browser.visit('http://admin2.okzaijia.com.cn/Task/MyTask?TaskType=4&Status=1')
browser.windows.current=browser.windows[1]
#print browser.windows.current
browser.find_by_xpath('//*[@id="searchForm"]/div[3]/button').click()
browser.find_by_xpath('//*[@id="pages"]/div/a[7]').click()
browser.find_by_text(u'执行任务').last.click()
time.sleep(2)
browser.windows.current=browser.windows[2]
browser.find_by_value('37').click()#选择接单的施工组
#print browser.find_by_value('17').text
browser.find_by_id('submit').click()
示例4: get_login
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import select [as 别名]
def get_login(url):
browser = Browser("phantomjs", service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any'])
browser.visit(url)
browser.find_by_id('username').fill('[email protected]') # MORPH
#browser.find_by_id('username').fill('[email protected]')
#browser.find_by_id('username').fill('[email protected]')
#browser.find_by_id('username').fill('[email protected]') # Morph uk
browser.find_by_id('password').fill('Nrjn1gsa')
browser.find_by_name('submit').first.click()
time.sleep(1)
print browser.url
browser.click_link_by_href("/business/opportunitySearchForm.html")
time.sleep(1)
browser.select('status', "")
browser.find_by_value("Search").first.click()
time.sleep(2)
print browser.url
return browser
示例5: get_login
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import select [as 别名]
def get_login(url):
browser = Browser("phantomjs", service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any'])
browser.visit(url)
#browser.find_by_id('username').fill('[email protected]') # MORPH
#browser.find_by_id('username').fill('[email protected]')
#browser.find_by_id('username').fill('[email protected]')
browser.find_by_id('username').fill('[email protected]') # MORPH UK
browser.find_by_id('password').fill('Nrjn1gsa')
browser.find_by_name('submit').first.click()
time.sleep(1)
print browser.url
try:
browser.click_link_by_href("/business/opportunitySearchForm.html")
time.sleep(1)
browser.click_link_by_href("opportunityAdvancedSearchForm.html")
time.sleep(2)
#browser.find_by_value('All').first.click()
browser.select('status', "")
browser.select('area', "9") # 'area' is 'class name' not just name?
time.sleep(3)
print browser.find_by_value('Add All') #TODO
print browser.html
browser.find_by_value('Add All').first.click()
print 'added all England only' #TODO
time.sleep(2)
browser.find_by_value("Search").first.click()
time.sleep(2)
except Exception as e:
print 'error: ', e
browser.click_link_by_href("/business/logoutHosts.html")
time.sleep(4)
browser.quit()
sys.exit("login failed")
print browser.url
return browser
示例6: xfinity
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import select [as 别名]
def xfinity(browser=None):
if not browser:
print ("Making browser...")
browser = Browser('phantomjs')
print ("Trying google.com...")
browser.visit('http://google.com/')
if 'google.' in browser.url:
print ("google.com connected :)")
return
print ("Sign up...")
browser.click_link_by_partial_text('Sign up')
print ("Filling form...")
browser.select("rateplanid", "spn")
browser.check('spn_terms')
browser.fill('spn_postal', '12345')
browser.fill('spn_email', '[email protected]')
print ("Submitting...")
sleep(3) # it did not work without the sleeps
browser.find_by_css('.startSessionButton').type(' \n')
sleep(7)
browser.ensure_success_response()
print (browser.screenshot())
示例7: buyprd
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import select [as 别名]
def buyprd(prdurl):
browser = Browser('firefox')
browser.visit(prdurl)
time.sleep(.5)
print(browser.title)
browser.find_option_by_text(selectOption).first.click()
browser.find_by_name('commit').click()
if browser.is_text_present('item'):
print("Added to Cart")
else:
print("Error")
return
time.sleep(2)
print("checking out")
browser.visit(checkoutUrl)
time.sleep(.5)
print("Filling Out Billing Info")
browser.fill("order[billing_name]", namefield)
browser.fill("order[email]", emailfield)
browser.fill("order[tel]", phonefield)
print("Filling Out Address")
browser.fill("order[billing_address]", addressfield)
browser.fill("order[billing_zip]", zipfield)
browser.select("order[billing_state]", statefield)
print("Filling Out Credit Card Info")
browser.select("credit_card[type]", cctypefield)
browser.fill("credit_card[number]", ccnumfield)
browser.select("credit_card[month]", ccmonthfield)
browser.select("credit_card[year]", ccyearfield)
browser.fill("credit_card[verification_value]", cccvcfield)
browser.find_by_css('.terms').click()
time.sleep(.2)
print("Submitting Info")
browser.find_by_name('commit').click()
time.sleep(1)
browser.driver.save_screenshot('confirmation.png')
print("Exiting...")
time.sleep(2)
sys.exit(0)
示例8: RollbackTest
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import select [as 别名]
class RollbackTest(unittest.TestCase):
def setUp(self):
self.dashboard = os.environ.get("TSURU_DASHBOARD_URL")
self.browser = Browser()
self.oauth_login()
self.create_app()
def tearDown(self):
self.remove_app()
self.browser.quit()
def oauth_login(self):
self.browser.visit(self.dashboard)
self.browser.find_by_css(".btn").click()
email = os.environ.get("EMAIL")
password = os.environ.get("PASSWORD")
if not password:
password = getpass.getpass()
self.browser.fill("email", email)
self.browser.fill("password", password)
self.browser.find_by_css(".enabled").click()
def create_app(self):
url = "{}/apps/create/".format(self.dashboard)
self.browser.visit(url)
pool = os.environ.get("POOL")
team = os.environ.get("TEAM")
self.browser.fill("name", "tsuru-dashboard-automate-app")
self.browser.select("platform", "python")
self.browser.select("pool", pool)
self.browser.select("teamOwner", team)
self.browser.find_by_css(".btn").click()
self.browser.is_text_present("App was successfully created")
def remove_app(self):
app_name = "tsuru-dashboard-automate-app"
url = "{}/apps/{}/settings/".format(self.dashboard, app_name)
self.browser.visit(url)
self.browser.find_by_css(".btn-danger")[0].click()
time.sleep(1)
self.browser.find_by_css(".remove-confirmation").fill(app_name)
self.browser.find_by_css(".btn-remove").click()
def test_deploy(self):
pass
示例9: advanced_search
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import select [as 别名]
def advanced_search(pub_id, search_term, user_name, password, year=None, sports=False, phantom=False):
if phantom == True:
browser = Browser('phantomjs')
else:
browser = Browser('firefox')
login(browser, user_name, password)
button = browser.find_by_name('doLogin').first.click()
browser.click_link_by_href('advanced')
browser.fill('queryTermField', pub_id)
browser.fill('queryTermField_0', search_term)
browser.select('fieldsSelect_0', 'all')
if sports == False:
browser.select('opsSelect_0', 'NOT')
browser.fill('queryTermField_1', 'sports')
browser.select('fieldsSelect_1', 'ti')
if year != None:
browser.select('select_multiDateRange', 'ON')
browser.fill('year2', year)
search_but = browser.find_by_name('searchToResultPage').first.click()
return browser
示例10:
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import select [as 别名]
for e in b.find_by_xpath("//div[@class='Opt1 rbloption']/span/span[@class='radioBranded']"):
e.click()
b.find_by_id('NextButton').click()
sys.stdout.write('.')
sys.stdout.flush()
for e in b.find_by_xpath("//div[@class='Opt1 rbloption']/span/span[@class='radioBranded']"):
e.click()
b.find_by_id('NextButton').click()
sys.stdout.write('.')
sys.stdout.flush()
for e in b.find_by_xpath("//div[@class='Opt1 rbloption']/span/span[@class='radioBranded']"):
e.click()
b.find_by_id('NextButton').click()
sys.stdout.write('.')
sys.stdout.flush()
b.select('R069000', '9')
b.select('R070000', '9')
b.find_by_id('NextButton').click()
sys.stdout.write('.')
sys.stdout.flush()
b.find_by_id('NextButton').click()
print b.find_by_xpath("//p[@class='ValCode']").first.value
b.quit()
anykey = raw_input()
示例11: Browser
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import select [as 别名]
from splinter import Browser
import time
browser = Browser("firefox")
browser.visit("https://sonuc.ysk.gov.tr")
il = 1
ilce = 1
errors = []
# re-run this loop after manually fixing the session-timeout issue,
# il and ilce values will be resumed autmatically from where they left
# because the exception is raised before/without them being updated/reset
while il < 86:
iller = browser.find_by_id("j_id48:j_id49:j_id108:cmbSecimCevresi").first.find_by_tag("option")
browser.select("j_id48:j_id49:j_id108:cmbSecimCevresi", iller[il].value)
time.sleep(3) # ilcelerin yuklenmesini bekle
ilce_len = len(browser.find_by_id("j_id48:j_id49:j_id120:cmbIlceSecimKurulu").first.find_by_tag("option"))
while ilce < ilce_len:
try:
ilceler = browser.find_by_id("j_id48:j_id49:j_id120:cmbIlceSecimKurulu").first.find_by_tag("option")
browser.select("j_id48:j_id49:j_id120:cmbIlceSecimKurulu", ilceler[ilce].value)
time.sleep(3) # lutfen bekleyinizi bekle
browser.find_by_name("j_id48:j_id49:j_id192").first.click()
time.sleep(4) # sorgulamasini bekle
browser.find_by_id("j_id48:tabloBilgileriPanel:j_id425").first.click()
time.sleep(3) # kabul ediyorum mesajini bekle
browser.find_by_id("j_id1028:j_id1029:j_id1035").first.click()
time.sleep(5) # excel dosyasini indirmesini bekle
print("[OK]:", il, ilce)
ilce += 1 # update ilce
示例12: int
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import select [as 别名]
vals = tree.xpath(values)
isbn10 = []
c = 1
for i in vals:
try:
a = i.split(',')[0].strip()
b = i.split(',')[1].strip()
except IndexError:
pass
try:
a = int(a)
b = int(b)
browser.visit("http://catalog.loc.gov/")
browser.fill('Search_Arg',str(b))
try:
bt = browser.find_by_value('Search')
bt.click()
browser.select("RD","3")
browser.find_by_name("SAVE")
print "Found"
except:
print 'Not found on LOC :',b
c = c + 1
except ValueError:
pass
if(c > 4):
print 'Too many wrong results. Exiting !'
break
browser.quit()
示例13: WorkerThread
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import select [as 别名]
class WorkerThread(QThread):
def __init__(self, nameOfList, username, password, weeksToReserve, form_data_version, parent=None):
QThread.__init__(self, parent)
self.username = username
self.password = password
self.nameOfList = nameOfList
self.weeks_to_reserve = weeksToReserve
self.form_data_version = form_data_version
print form_data_version
# self.reserve = Reserve()
# QThread.__init__(self)
def stop_thread(self):
self.quit()
def run(self):
foods, rests_and_day_numbers_of_week, user_list_version = self.decode_database(
self.nameOfList
) # decode database
# self.reserve.login(self.username,self.password)
# check userlist version
if user_list_version != self.form_data_version:
print user_list_version
self.emit(SIGNAL("showQuestion()"))
self.emit(SIGNAL("removeThread(QString)"), self.username)
return self.stop_thread()
try:
self.emit(SIGNAL("log(QString)"), self.username + u": رزرو شروع شد")
# print self.username,": reservaion started"
self.login(self.username, self.password) # login to website
except AttributeError:
self.emit(
SIGNAL("Error(QString,QString)"), u"خطای ورود", u"نام کاربری یا پسورد شما اشتباه است :" + self.username
)
self.emit(SIGNAL("log(QString)"), self.username + ":" + u" رزرو ناموفق- نام کاربری یا پسورد شما اشتباه است")
self.emit(SIGNAL("removeThread(QString)"), self.username)
return self.stop_thread()
except Exception as e:
self.emit(SIGNAL("Error(QString,QString)"), u"خطا", u"متاسفانه خطایی رخ داد ")
# print e
self.emit(SIGNAL("removeThread(QString)"), self.username)
return self.stop_thread()
this_week_available_days, next_week_available_days = self.collect_available_days() # find the available days
if "this" in self.weeks_to_reserve:
if this_week_available_days:
self.reserve_for_a_week(
rests_and_day_numbers_of_week=rests_and_day_numbers_of_week,
available_days=this_week_available_days,
foods=foods,
)
if "next" in self.weeks_to_reserve:
if next_week_available_days:
self.reserve_for_a_week(
rests_and_day_numbers_of_week=rests_and_day_numbers_of_week,
available_days=next_week_available_days,
foods=foods,
)
else:
self.emit(
SIGNAL("log(QString)"),
self.username + ":" + "\n" + u" رزرو برای هفته ی بعد هنوز باز نشده است بعدا امتحان کنید ",
)
self.take_screenshot(self.username, self.nameOfList)
self.open_screenshot(self.username, self.nameOfList)
self.emit(SIGNAL("reservation(QString,QString)"), u"انجام شد", u"رزرو برای " + self.username + u" انجام شد ")
self.emit(SIGNAL("removeThread(QString)"), self.username)
self.emit(SIGNAL("log(QString)"), u" رزرو برای " + self.username + u" انجام شد ")
def reserve_for_a_week(self, rests_and_day_numbers_of_week, available_days, foods):
day_mapping = [u"شنبه", u"1شنبه", u"2شنبه", u"3شنبه", u"4شنبه", u"5شنبه", u"جمعه"]
meal_mapping = [u"صبحانه", u"ناهار", u"شام"]
# reserv for a week
for rests_and_day_number_of_each_day in rests_and_day_numbers_of_week:
check_credit = self.check_credit()
if check_credit != True:
self.emit(
SIGNAL("log(QString)"),
self.username + ":" + "\n" + u" اعتبار شما کافی نیست " + str(check_credit) + "-",
)
break
meal = 0
selected_day = rests_and_day_number_of_each_day["day"]
if str(selected_day) in available_days.keys(): # avilable_days.keys == day number of available days
for rest in rests_and_day_number_of_each_day["rests"]:
if rest == "":
self.emit(
SIGNAL("log(QString)"),
self.username
+ ":"
+ "\n"
#.........这里部分代码省略.........
示例14: register_mac_with_xfinity
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import select [as 别名]
def register_mac_with_xfinity(mac,output, count = 0,time_out = 30):
if(count >= 2):
return False
if count > 0:
output.append("Uncertain if successful, trying again")
b = Browser('phantomjs') #'phantomjs' #webdriver.PhantomJS()
output.append("Browser Launched")
success = False
try:
url = "https://xfinity.nnu.com/xfinitywifi/?client-mac="+mac.lower()
socket.setdefaulttimeout(60)
b.visit(url)
if b.is_text_present("Your complimentary session has expired."):
# b.quit()
output.append("Mac has already been registered")
success = True
if(success==False):
b.select("rateplanid","spn")
# print b.url
email = str(random.randrange(10000000,99999999))+'@comcast.com'
zip_code = random.randrange(10000,99999)
try:
b.fill('spn_postal', zip_code)
b.fill('spn_email', email)
except:
pass
try:
b.check('spn_terms')
except:
pass
url = b.url
b.find_by_value('submit').first.click()
b.find_by_value('submit').first.click()
output.append("Submitting Mac Request, Waiting for result")
waitTime = 0
while(b.url == url and waitTime < time_out): #total shit...
time.sleep(1)
waitTime += 1
if waitTime>0 and waitTime%15 == 0:
output.append("Waiting for request to complete ... ["+str(waitTime)+"s]")
#TODO validate..... ie did webpage load/etc
if(b.is_text_present("Your complimentary session is now active!")):
success = True
if(waitTime >= time_out and not success):
success = register_mac_with_xfinity(mac,output,count=count+1, time_out=time_out)
except Exception, err:
print err.message
print b.url
print b.html
success = register_mac_with_xfinity(mac, output, count=count+1, time_out=time_out)
pass
示例15: SchemaTestCase
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import select [as 别名]
class SchemaTestCase(LiveServerTestCase):
"""
A set of tests for testing export schema, import schema and everything
related to advanced types (patterns, options, etc.).
"""
def setUp(self):
self.browser = Browser()
signup(self, 'bob', '[email protected]', 'bob_secret')
signin(self, 'bob', 'bob_secret')
def tearDown(self):
logout(self)
self.browser.quit()
def test_export_schema(self):
create_graph(self)
create_schema(self)
create_type(self)
self.browser.find_by_id('toolsMenu').first.click()
cookies = {self.browser.cookies.all()[0]["name"]: self.browser.cookies.all()[0]["value"], self.browser.cookies.all()[1]["name"]: self.browser.cookies.all()[1]["value"]}
result = requests.get(self.live_server_url + '/schemas/bobs-graph/export/', cookies=cookies)
self.assertEqual(result.headers['content-type'], 'application/json')
self.assertEqual(self.browser.status_code.is_success(), True)
f = open('sylva/base/tests/files/bobs-graph_schema.json')
self.assertEqual(f.read().split("\n")[0], result.content)
def test_import_schema(self):
create_graph(self)
create_schema(self)
self.browser.find_by_id('schemaImport').first.click()
file_path = os.path.join(
os.path.abspath(os.path.dirname(__file__)),
'files/bobs-graph_schema.json'
)
self.browser.attach_file('file', file_path)
self.browser.find_by_value('Continue').first.click()
self.assertEqual(self.browser.title, "SylvaDB - Bob's graph")
text = self.browser.find_by_id('diagramBoxField_bobs-graph.bobs-type.undefined').first.value
self.assertEqual(text, "Name")
def test_new_type(self):
create_graph(self)
create_schema(self)
self.browser.find_link_by_href(
'/schemas/bobs-graph/types/create/').first.click()
text = self.browser.find_by_xpath(
"//div[@class='content2-first']/h2").first.value
self.assertEqual(text, 'Type')
self.browser.find_by_name('name').first.fill("Bob's type")
self.browser.find_by_xpath(
"//div[@class='content2-first']/p/textarea[@name='description']").first.fill('The loved type')
self.browser.find_by_value('Save Type').first.click()
text = self.browser.find_by_xpath(
"//div[@id='diagramBox_bobs-type']/div[@class='title']").first.value
self.assertNotEqual(text.find("Bob's type"), -1)
def test_new_advanced_type(self):
create_graph(self)
create_schema(self)
self.browser.find_link_by_href(
'/schemas/bobs-graph/types/create/').first.click()
text = self.browser.find_by_xpath(
"//div[@class='content2-first']/h2").first.value
self.assertEqual(text, 'Type')
self.browser.find_by_name('name').first.fill("Bob's type")
self.browser.find_by_id('advancedModeButton').first.click()
self.browser.find_by_name('properties-0-key').first.fill('Name')
self.browser.find_by_name('properties-0-display').first.check()
self.browser.find_by_name('properties-0-required').first.check()
self.browser.find_by_name('properties-0-default').first.fill(
"Bob's node default name")
self.browser.find_by_name('properties-0-order').first.fill('1')
self.browser.find_by_name('properties-0-description').first.fill(
"The name of this Bob's node")
self.browser.find_by_value('Save Type').first.click()
text = self.browser.find_by_id(
'diagramBoxField_bobs-graph.bobs-type.undefined').first.value
self.assertEqual(text, "Name")
def test_new_advanced_type_string_empty(self):
create_graph(self)
create_schema(self)
self.browser.find_link_by_href(
'/schemas/bobs-graph/types/create/').first.click()
text = self.browser.find_by_xpath(
"//div[@class='content2-first']/h2").first.value
self.assertEqual(text, 'Type')
self.browser.find_by_name('name').first.fill("Bob's type")
self.browser.find_by_id('advancedModeButton').first.click()
self.browser.find_by_name('properties-0-key').first.fill('String name')
self.browser.find_by_name('properties-0-display').first.check()
self.browser.find_by_name('properties-0-required').first.check()
self.browser.find_by_xpath("//select[@id='id_properties-0-datatype']/optgroup[@label='Basic']/option[@value='s']").first.click()
self.browser.find_by_name('properties-0-order').first.fill('1')
self.browser.find_by_name('properties-0-description').first.fill(
"The name of this Bob's node")
self.browser.find_by_value('Save Type').first.click()
text = self.browser.find_by_id(
'diagramBoxField_bobs-graph.bobs-type.undefined').first.value
#.........这里部分代码省略.........