You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.2 KiB
62 lines
2.2 KiB
import unittest as ut
|
|
import comtypes.client
|
|
from comtypes import COSERVERINFO
|
|
from ctypes import POINTER, byref
|
|
|
|
# create the typelib wrapper and import it
|
|
comtypes.client.GetModule("scrrun.dll")
|
|
from comtypes.gen import Scripting
|
|
|
|
import comtypes.test
|
|
comtypes.test.requires("ui")
|
|
|
|
class Test(ut.TestCase):
|
|
def test_progid(self):
|
|
# create from ProgID
|
|
obj = comtypes.client.CreateObject("Scripting.Dictionary")
|
|
self.assertTrue(isinstance(obj, POINTER(Scripting.IDictionary)))
|
|
|
|
def test_clsid(self):
|
|
# create from the CoClass' clsid
|
|
obj = comtypes.client.CreateObject(Scripting.Dictionary)
|
|
self.assertTrue(isinstance(obj, POINTER(Scripting.IDictionary)))
|
|
|
|
def test_clsid_string(self):
|
|
# create from string clsid
|
|
comtypes.client.CreateObject(str(Scripting.Dictionary._reg_clsid_))
|
|
comtypes.client.CreateObject(str(Scripting.Dictionary._reg_clsid_))
|
|
|
|
def test_remote(self):
|
|
ie = comtypes.client.CreateObject("InternetExplorer.Application",
|
|
machine="localhost")
|
|
self.assertEqual(ie.Visible, False)
|
|
ie.Visible = 1
|
|
# on a remote machine, this may not work. Probably depends on
|
|
# how the server is run.
|
|
self.assertEqual(ie.Visible, True)
|
|
self.assertEqual(0, ie.Quit()) # 0 == S_OK
|
|
|
|
def test_server_info(self):
|
|
serverinfo = COSERVERINFO()
|
|
serverinfo.pwszName = 'localhost'
|
|
pServerInfo = byref(serverinfo)
|
|
|
|
self.assertRaises(ValueError, comtypes.client.CreateObject,
|
|
"InternetExplorer.Application", machine='localhost',
|
|
pServerInfo=pServerInfo)
|
|
ie = comtypes.client.CreateObject("InternetExplorer.Application",
|
|
pServerInfo=pServerInfo)
|
|
self.assertEqual(ie.Visible, False)
|
|
ie.Visible = 1
|
|
# on a remote machine, this may not work. Probably depends on
|
|
# how the server is run.
|
|
self.assertEqual(ie.Visible, True)
|
|
self.assertEqual(0, ie.Quit()) # 0 == S_OK
|
|
|
|
def test_main():
|
|
from test import test_support
|
|
test_support.run_unittest(Test)
|
|
|
|
if __name__ == "__main__":
|
|
ut.main()
|