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 ...
随机推荐
- 【转】iOS的APP资源,开源的哦
完整项目 文章转自 “标哥的技术博客” IOS-Swift2.0 高仿半糖App 这个开源项目为半糖,官网➡,类似于美丽说,一款电商App,使用语言:Swift2.0,开发工具: Xcode 7.1 ...
- java连接数据库(sqlserver和mysql)
java连接sqlserver数据库 废话不多说,直接看代码: public static void main(String[] args) { // TODO Auto-generated meth ...
- 【luogu P3371 单源最短路】 模板 vector+SPFA
stl真是好,,偷懒少写邻接表,, 两个STL应用使代码简短了很多.然而还是那句话,天上不会掉馅饼,程序的效率还是有所下降的.然而,效率不是全部,人们宁可牺牲三倍效率用Java而不用C语言就是最好的例 ...
- vue富文本编辑,编辑自动预览,单个图片上传不能预览的问题解决:
//预览<div class="htmlViewBox"> <p v-html="activity_html_defaultMsg" v-sh ...
- JSTL&EL
JSTL <1> 实现了JSP页面代码的复用 <2> 使得可读性更强 导入 <%@ taglib uri="http://java.sun.com/jsp/js ...
- oracle聚簇表的理解 (转自:https://blog.csdn.net/gumengkai/article/details/51009345 )
Oracle支持两种类型的聚簇:索引聚簇和哈希聚簇 一.索引聚簇表的原理 聚簇:如果一些表有一些共同的列,则将这样一组表存储在相同的数据块中 聚簇还表示把相关的数据存储在同一个块上.利用聚簇,一个块可 ...
- JSP静态包含和动态包含
JSP中有两种包含: 静态包含:<%@include file="被包含页面"%>: 动态包含:<jsp:include page="被包含页面&quo ...
- xcode 快捷键大全、XCode常用快捷键图文介绍
其实就是设置里面的快捷键变成了文字版,刚开始用Xcode是不是发现以前熟悉的开发环境的快捷键都不能用了?怎么快捷运行,停止,编辑等等.都不一样了.快速的掌握这些快捷键,能提供开发的效率. 其实快捷键在 ...
- Java秒杀系统方案优化 高性能高并发实战(已完成)
1:商品列表 2:商品详情判断是否可以开始秒杀,未开始不显示秒杀按钮显示倒计时,开始显示秒杀按钮,同时会显示验证码输入框以及验证码图片,当点击秒杀按钮的时候会首先判断验证码是否正确,如果正确会返回一个 ...
- mysqldump备份与基于bin-log实现完全恢复
MySQL数据库备份是一项非常重要的工作,mysql的备份主要分为逻辑备份和物理备份,同时,不同的生产环境要备份的策略也不会不同.下面先说一说备份时要考虑到的一些因素,然后再实际操作进行不同方式的数据 ...