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.
ORPA-pyOpenRPA/Resources/WPy64-3720/python-3.7.2.amd64/Lib/site-packages/comtypes/test/test_client.py

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()