python+UIAutomation+libary
#! /usr/bin/env python
#Author: XIE TIAN
# -*- coding:utf8 -*-
from __future__ import unicode_literals
import subprocess
import uiautomation as automation
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
class switch(object):
def __init__(self, value):
self.value = value
self.fall = False
def __iter__(self):
"""Return the match method once, then stop"""
yield self.match
raise StopIteration
def match(self, *args):
"""Indicate whether or not to enter a case suite"""
if self.fall or not args:
return True
elif self.value in args: # changed for v1.5, see below
self.fall = True
return True
else:
return False
''' to run smoke test cases of a modality.
[param][in] Main Windows Name e.g PatientAdmin
[param][in] Control Type
[param][in] Control Name
[param][in] Control AutomationId
'''
def FindControlObj(mainWindow, controlType,controlName,controlAutomationId):
type = sys.getfilesystemencoding()
mainWindow = mainWindow.decode('gb2312')
controlType=controlType.decode('utf-8').encode(type)
controlName=controlName.decode('gb2312')
controlAutomationId=controlAutomationId.decode('utf-8').encode(type)
if mainWindow=="":
wpfWindow=None
else:
wpfWindow=automation.WindowControl(Name=mainWindow)
if controlName=="":
controlName=None
if controlAutomationId=="":
controlAutomationId=None
for case in switch(controlType.lower()):
if case('button'):
button=automation.ButtonControl(searchFromControl = wpfWindow,Name=controlName,AutomationId=controlAutomationId)
result=automation.WaitForExist(button,30)
if result==True:
return button
else:
print 'control not found'
break
if case('radiobutton'):
if controlName=="":
radioButton=automation.RadioButtonControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(radioButton,30)
if result==True:
return radioButton
else:
print 'control not found'
else:
radioButton=automation.RadioButtonControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(radioButton,30)
if result==True:
return radioButton
else:
print 'control not found'
break
if case('edit'):
if controlName=="":
edit = automation.EditControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(edit,30)
if result==True:
return edit
else:
print 'control not found'
else:
edit = automation.EditControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(edit,30)
if result==True:
return edit
else:
print 'control not found'
break
if case('checkbox'):
if controlName=="":
checkbox = automation.CheckBoxControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(checkbox,30)
if result==True:
return checkbox
else:
print 'control not found'
else:
checkbox = automation.CheckBoxControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(checkbox,30)
if result==True:
return checkbox
else:
print 'control not found'
break
if case('combobox'):
if controlName=="":
combobox = automation.ComboBoxControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(combobox,30)
if result==True:
return combobox
else:
print 'control not found'
else:
combobox = automation.ComboBoxControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(combobox,30)
if result==True:
return combobox
else:
print 'control not found'
break
if case('tabitem'):
if controlName=="":
tabitem = automation.TabItemControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(tabitem,30)
if result==True:
return tabitem
else:
print 'control not found'
else:
tabitem = automation.TabItemControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(tabitem,30)
if result==True:
return tabitem
else:
print 'control not found'
break
if case('listitem'):
if freeParameter<>"":
combobox = automation.ComboBoxControl(searchFromControl = wpfWindow,AutomationId=freeParameter)
left, top, right, bottom = combobox.BoundingRectangle
automation.Click(right-5,bottom-5,1)
listitem = automation.ListItemControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
return listitem
else:
if controlName=="":
listitem = automation.ListItemControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
return listitem
else:
listitem = automation.ListItemControl(searchFromControl = wpfWindow,Name=controlName)
return listitem
break
if case('text'):
if controlName=="":
text = automation.TextControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(text,30)
if result==True:
return text
else:
print 'control not found'
else:
text = automation.TextControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(text,30)
if result==True:
return text
else:
print 'control not found'
break
if case('image'):
if controlName=="":
iamge = automation.ImageControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(image,30)
if result==True:
return iamge
else:
print 'control not found'
else:
iamge = automation.ImageControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(image,30)
if result==True:
return iamge
else:
print 'control not found'
break
if case('menuitem'):
if controlName=="":
menuitem = automation.MenuItemControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(menuitem,30)
if result==True:
return menuitem
else:
print 'control not found'
else:
menuitem = automation.MenuItemControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(menuitem,30)
if result==True:
return menuitem
else:
print 'control not found'
break
if case('list'):
if controlName=="":
list = automation.ListControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(list,30)
if result==True:
return list
else:
print 'control not found'
else:
list = automation.ListControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(list,30)
if result==True:
return list
else:
print 'control not found'
break
if case('progressbar'):
if controlName=="":
progressbar = automation.ProgressBarControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(progressbar,30)
if result==True:
return progressbar
else:
print 'control not found'
else:
progressbar = automation.ProgressBarControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(progressbar,30)
if result==True:
return progressbar
else:
print 'control not found'
break
if case('slider'):
if controlName=="":
slider = automation.SliderControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(slider,30)
if result==True:
return slider
else:
print 'control not found'
else:
slider = automation.SliderControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(slider,30)
if result==True:
return slider
else:
print 'control not found'
break
if case('custom'):
if controlName=="":
custom = automation.CustomControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(custom,30)
if result==True:
return custom
else:
print 'control not found'
else:
custom = automation.CustomControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(custom,30)
if result==True:
return custom
else:
print 'control not found'
break
if case('scrollbar'):
if controlName=="":
scrollbar = automation.ScrollBarControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(scrollbar,30)
if result==True:
return scrollbar
else:
print 'control not found'
else:
scrollbar = automation.ScrollBarControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(scrollbar,30)
if result==True:
return scrollbar
else:
print 'control not found'
break
if case('tab'):
if controlName=="":
tab = automation.TabControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(tab,30)
if result==True:
return tab
else:
print 'control not found'
else:
tab = automation.TabControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(tab,30)
if result==True:
return tab
else:
print 'control not found'
break
if case('treeitem'):
if controlName=="":
treeitem = automation.TreeItemControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(treeitem,30)
if result==True:
return treeitem
else:
print 'control not found'
else:
treeitem = automation.TreeItemControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(treeitem,30)
if result==True:
return treeitem
else:
print 'control not found'
break
if case('datagrid'):
if controlName=="":
datagrid = automation.DataGridControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(datagrid,30)
if result==True:
return datagrid
else:
print 'control not found'
else:
datagrid = automation.DataGridControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(datagrid,30)
if result==True:
return datagrid
else:
print 'control not found'
break
if case('table'):
if controlName=="":
table = automation.TableControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(table,30)
if result==True:
return table
else:
print 'control not found'
else:
table = automation.TableControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(table,30)
if result==True:
return table
else:
print 'control not found'
break
if case('toolbar'):
if controlName=="":
toolbar = automation.ToolBarControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(toolbar,30)
if result==True:
return toolbar
else:
print 'control not found'
else:
toolbar = automation.ToolBarControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(toolbar,30)
if result==True:
return toolbar
else:
print 'control not found'
break
if case('calendar'):
if controlName=="":
calendar = automation.CalendarControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(calendar,30)
if result==True:
return calendar
else:
print 'control not found'
else:
calendar = automation.CalendarControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(calendar,30)
if result==True:
return calendar
else:
print 'control not found'
break
if case('pane'):
if controlName=="":
pane = automation.PaneControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(pane,30)
if result==True:
return pane
else:
print 'control not found'
else:
pane = automation.PaneControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(pane,30)
if result==True:
return pane
else:
print 'control not found'
break
if case('headeritem'):
if controlName=="":
headeritem = automation.HeaderItemControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(headeritem,30)
if result==True:
return headeritem
else:
print 'control not found'
else:
headeritem = automation.HeaderItemControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(headeritem,30)
if result==True:
return headeritem
else:
print 'control not found'
break
if case(): # default, could also just omit condition or 'if True'
print "something else:!"
# No need to break here, it'll stop anyway
''' to run smoke test cases of a modality.
[param][in] Main Windows Name e.g PatientAdmin
[param][in] Control Type
[param][in] Control Name
[param][in] Control AutomationId
[param][in] FreeParameter e.g. when control is editbox, this value will be the input value, if the control is combox, the parameter is index
'''
def FindControl(mainWindow, controlType,controlName,controlAutomationId,freeParameter):
type = sys.getfilesystemencoding()
mainWindow = mainWindow.decode('gb2312')
controlType=controlType.decode('utf-8').encode(type)
controlName=controlName.decode('gb2312')
controlAutomationId=controlAutomationId.decode('utf-8').encode(type)
freeParameter=freeParameter.decode('gb2312')
if mainWindow=="":
wpfWindow=None
else:
wpfWindow=automation.WindowControl(Name=mainWindow)
if controlName=="":
controlName=None
if controlAutomationId=="":
controlAutomationId=None
for case in switch(controlType.lower()):
if case('button'):
print controlName
print controlAutomationId
button=automation.ButtonControl(searchFromControl = wpfWindow,Name=controlName,AutomationId=controlAutomationId)
result=automation.WaitForExist(button,30)
if result==True:
button.Click()
else:
print 'control not found'
break
if case('radiobutton'):
if controlName=="":
radioButton=automation.RadioButtonControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(radioButton,30)
if result==True:
radioButton.Click()
else:
print 'control not found'
else:
radioButton=automation.RadioButtonControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(radioButton,30)
if result==True:
radioButton.Click()
else:
print 'control not found'
break
if case('edit'):
if controlName=="":
edit = automation.EditControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(edit,30)
if result==True:
edit.SetValue(freeParameter)
else:
print 'control not found'
else:
edit = automation.EditControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(edit,30)
if result==True:
edit.SetValue(freeParameter)
else:
print 'control not found'
break
if case('checkbox'):
if controlName=="":
checkbox = automation.CheckBoxControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(checkbox,30)
if result==True:
checkbox.Click()
else:
print 'control not found'
else:
checkbox = automation.CheckBoxControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(checkbox,30)
if result==True:
checkbox.Click()
else:
print 'control not found'
break
if case('combobox'):
if controlName=="":
combobox = automation.ComboBoxControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(combobox,30)
if result==True:
combobox.Select(freeParameter)
else:
print 'control not found'
else:
combobox = automation.ComboBoxControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(combobox,30)
if result==True:
combobox.Select(freeParameter)
else:
print 'control not found'
break
if case('tabitem'):
if controlName=="":
tabitem = automation.TabItemControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(tabitem,30)
if result==True:
tabitem.Click()
else:
print 'control not found'
else:
tabitem = automation.TabItemControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(tabitem,30)
if result==True:
tabitem.Click()
else:
print 'control not found'
break
if case('listitem'):
if freeParameter<>"":
combobox = automation.ComboBoxControl(searchFromControl = wpfWindow,AutomationId=freeParameter)
left, top, right, bottom = combobox.BoundingRectangle
automation.Click(right-5,bottom-5,1)
listitem = automation.ListItemControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
listitem.Click()
else:
if controlName=="":
listitem = automation.ListItemControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
listitem.Select()
else:
listitem = automation.ListItemControl(searchFromControl = wpfWindow,Name=controlName)
listitem.Select()
break
if case('text'):
if controlName=="":
text = automation.TextControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(text,30)
if result==True:
text.Click()
else:
print 'control not found'
else:
text = automation.TextControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(text,30)
if result==True:
text.Click()
else:
print 'control not found'
break
if case('image'):
if controlName=="":
iamge = automation.ImageControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(image,30)
if result==True:
image.Click()
else:
print 'control not found'
else:
iamge = automation.ImageControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(image,30)
if result==True:
image.Click()
else:
print 'control not found'
break
if case('menuitem'):
if controlName=="":
menuitem = automation.MenuItemControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(menuitem,30)
if result==True:
menuitem.Click()
else:
print 'control not found'
else:
menuitem = automation.MenuItemControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(menuitem,30)
if result==True:
menuitem.Click()
else:
print 'control not found'
break
if case('list'):
if controlName=="":
list = automation.ListControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(list,30)
if result==True:
list.Click()
else:
print 'control not found'
else:
list = automation.ListControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(list,30)
if result==True:
list.Click()
else:
print 'control not found'
break
if case('progressbar'):
if controlName=="":
progressbar = automation.ProgressBarControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(progressbar,30)
if result==True:
progressbar.Click()
else:
print 'control not found'
else:
progressbar = automation.ProgressBarControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(progressbar,30)
if result==True:
progressbar.Click()
else:
print 'control not found'
break
if case('slider'):
if controlName=="":
slider = automation.SliderControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(slider,30)
if result==True:
slider.Click()
else:
print 'control not found'
else:
slider = automation.SliderControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(slider,30)
if result==True:
slider.Click()
else:
print 'control not found'
break
if case('custom'):
if controlName=="":
custom = automation.CustomControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(custom,30)
if result==True:
custom.Click()
else:
print 'control not found'
else:
custom = automation.CustomControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(custom,30)
if result==True:
custom.Click()
else:
print 'control not found'
break
if case('scrollbar'):
if controlName=="":
scrollbar = automation.ScrollBarControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(scrollbar,30)
if result==True:
scrollbar.Click()
else:
print 'control not found'
else:
scrollbar = automation.ScrollBarControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(scrollbar,30)
if result==True:
scrollbar.Click()
else:
print 'control not found'
break
if case('tab'):
if controlName=="":
tab = automation.TabControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(tab,30)
if result==True:
tab.Click()
else:
print 'control not found'
else:
tab = automation.TabControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(tab,30)
if result==True:
tab.Click()
else:
print 'control not found'
break
if case('treeitem'):
if controlName=="":
treeitem = automation.TreeItemControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(treeitem,30)
if result==True:
treeitem.Click()
else:
print 'control not found'
else:
treeitem = automation.TreeItemControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(treeitem,30)
if result==True:
treeitem.Click()
else:
print 'control not found'
break
if case('datagrid'):
if controlName=="":
datagrid = automation.DataGridControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(datagrid,30)
if result==True:
datagrid.Click()
else:
print 'control not found'
else:
datagrid = automation.DataGridControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(datagrid,30)
if result==True:
datagrid.Click()
else:
print 'control not found'
break
if case('table'):
if controlName=="":
table = automation.TableControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(table,30)
if result==True:
table.Click()
else:
print 'control not found'
else:
table = automation.TableControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(table,30)
if result==True:
table.Click()
else:
print 'control not found'
break
if case('toolbar'):
if controlName=="":
toolbar = automation.ToolBarControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(toolbar,30)
if result==True:
toolbar.Click()
else:
print 'control not found'
else:
toolbar = automation.ToolBarControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(toolbar,30)
if result==True:
toolbar.Click()
else:
print 'control not found'
break
if case('calendar'):
if controlName=="":
calendar = automation.CalendarControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(calendar,30)
if result==True:
calendar.Click()
else:
print 'control not found'
else:
calendar = automation.CalendarControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(calendar,30)
if result==True:
calendar.Click()
else:
print 'control not found'
break
if case('pane'):
if controlName=="":
pane = automation.PaneControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(pane,30)
if result==True:
pane.Click()
else:
print 'control not found'
else:
pane = automation.PaneControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(pane,30)
if result==True:
pane.Click()
else:
print 'control not found'
break
if case('headeritem'):
if controlName=="":
headeritem = automation.HeaderItemControl(searchFromControl = wpfWindow,AutomationId=controlAutomationId)
result=automation.WaitForExist(headeritem,30)
if result==True:
headeritem.Click()
else:
print 'control not found'
else:
headeritem = automation.HeaderItemControl(searchFromControl = wpfWindow,Name=controlName)
result=automation.WaitForExist(headeritem,30)
if result==True:
headeritem.Click()
else:
print 'control not found'
break
if case(): # default, could also just omit condition or 'if True'
print "something else:!"
# No need to break here, it'll stop anyway
if __name__ == '__main__':
FindControl(sys.argv[1],sys.argv[2],sys.argv[3],sys.argv[4],sys.argv[5])
python+UIAutomation+libary的更多相关文章
- 使用python UIAutomation从QQ2017(v8.9)群界面获取所有群成员详细资料,
首先安装pip install uiautomation, 运行本文代码.或者下载https://github.com/yinkaisheng/Python-UIAutomation-for-Wind ...
- 使用python uiautomation从钉钉网页版提取公司所有联系人信息
之前写了一个提取QQ群里所有人信息的脚本 https://www.cnblogs.com/Yinkaisheng/p/5114932.html 今天写一个从钉钉网页版提取公司所有人通讯录的脚本,,本脚 ...
- python 常用模块(转载)
转载地址:http://codeweblog.com/python-%e5%b8%b8%e7%94%a8%e6%a8%a1%e5%9d%97/ adodb:我们领导推荐的数据库连接组件bsddb3:B ...
- 常用的python模块
http://tiankonghaikuo1000.blog.163.com/blog/static/18231597200812424255338/ adodb:我们领导推荐的数据库连接组件bsdd ...
- 开源自己用python封装的一个Windows GUI(UI Automation)自动化工具,支持MFC,Windows Forms,WPF,Metro,Qt
首先,大家可以看下这个链接 Windows GUI自动化测试技术的比较和展望 . 这篇文章介绍了Windows中GUI自动化的三种技术:Windows API, MSAA - Microsoft Ac ...
- Python将是人工智能时代的最佳编程语言
Python将是人工智能时代的最佳编程语言 移动互联网取代PC互联网领跑在互联网时代的最前沿,Android和iOS一度成为移动互联网应用平台的两大霸主,成为移动开发者首选的两门技术,HTML5以其跨 ...
- python 常库介绍及安装方法
bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahcherrypy:一个WEB frameworkctypes:用来调用动态链接库DBUtils:数 ...
- python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahcherrypy:一个WEB frameworkctype ...
- 常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件 bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahcherrypy:一个WEB frameworkctyp ...
随机推荐
- html5中event获取data和class
获取data和class var tare=$(e.relatedTarget).data("id");var tar=event.target;console.log(tare) ...
- [LuoguP1111]修复公路
[LuoguP1111]修复公路 题目描述: A地区在地震过后,链接所有村庄的公路都损坏了,而导致无法通车,政府派人修复这些公路. 给出A地区的N村庄数和M公路数,并且对于每一个公路给出其链接的两个村 ...
- postman发送HTTP请求自动生成MD5签名
POSTMAN是常用的接口测试工具 如何进行MD5签名呢? 代码如下: /** * 通过request.data获取body的内容,这个是postman内置变量 * 常用内置参数如下: * reque ...
- Unity3d Gis 坐标转换
最近在做unity3d与Gis结合的项目,最基本的就是坐标的转换问题,比如把经纬度为(166.23.9.27 , 39.55.15.74) 转换到unity里面成相应的位置点,废话不多说 上代码: u ...
- LeetCode12.整数转罗马数字 JavaScript
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并 ...
- Restframework中的Request
1.介绍 该篇博客主要介绍restframework内置的Request类,它扩展了Django中的Request类,实现了很多方便的功能--如请求数据解析和认证等. 如: 在APIView中封装的r ...
- 路由器基本配置实验,静态路由和动态RIP路由
实验涉及命令以及知识补充 连线 PC和交换机FastEtherNet接口 交换机和路由器FastEtherNet接口 路由器和路由器Serial接口 serial是串行口,一般用于连接设备,不能连接电 ...
- [NOI2002]荒岛野人(exgcd,枚举)
题目描述 克里特岛以野人群居而著称.岛上有排列成环行的M个山洞.这些山洞顺时针编号为1,2,…,M.岛上住着N个野人,一开始依次住在山洞C1,C2,…,CN中,以后每年,第i个野人会沿顺时针向前走Pi ...
- ABAP术语-EDI (Electronic Data Interchange)
EDI (Electronic Data Interchange) 原文:http://www.cnblogs.com/qiangsheng/archive/2008/01/29/1057386.ht ...
- 汇编:模拟C语言实现break与continue
;=============================== ;循环程序设计 ;模拟C语言实现break 与continue DATAS SEGMENT i dw sum dw DATAS end ...