Blog to understand automation concepts in QTP, Selenium Webdriver and Manual Testing concepts

Manipulating and working with Word document using vbscript in QTP

In this article, we will discuss how to manipulate microsoft word document using QTP and VBScript. Learning working with microsoft word can help the users to generate reports of test results in word document . We will discuss on code for following problems in this article 

a. Creating a new Word document using vbscript in QTP
b. Opening an existing word document
c. Appending at the beginning and end of a word document. 
d. Reading content of a word document.
e. Formatting text of a word document.

We will discuss on capturing images and working with table in MS word using vbscript in some another article: 


Example 1 - Creating a new word document using vbscript. Writing some text in the document and closing the same


' Instantiate an object of word application 
Set objWord = CreateObject("Word.Application")
' Add a new item of word application object
objWord.Documents.Add
' Adding some text in the word document
objWord.Selection.TypeText "testing time"
' Save the document as provided
objWord.ActiveDocument.SaveAs "C:\qtptesting.docx"
' Close instance of word application
objWord.Quit
' Release the object for word document.
Set objWord=Nothing

Example 2 - The above was example of adding a new document in case we wish to update an existing document, we can use the below code:


' Instantiate an object of word application 
Set objWord = CreateObject("Word.Application")
' Open an existing word document
objWord.Documents.open "C:\qtptesting.docx"
' Adding some text in the word document
objWord.Selection.TypeText "testing time 2"
' Save the document as provided
objWord.ActiveDocument.Save
' Close instance of word application
objWord.Quit
'Release the object for word document.
Set objWord=Nothing


Example 3 : Now we have seen the text in above example 2 writes "testing time 2" just before testingtime. Suppose we want to write the text testing 2 in a new line after text testing, we can write the code as



Set objWord = CreateObject("Word.Application")
objWord.Documents.open "C:\qtptesting.docx"

' Adding some text in the word document at the end of document:
objWord.Selection.EndKey 6,0
objWord.Selection.TypeText vbCrLf & "testing time 3"

objWord.ActiveDocument.Save
' Close instance of word application
objWord.Quit
'Release the object for word document.
Set objWord=Nothing

Example 4 : Next we want to format the text in the word document.


Set objWord = CreateObject("Word.Application")
objWord.Documents.open "C:\qtptesting.docx"
' Adding formatting to the object, there will be lot of method to format , can refer to reference vbscript in QTP or word.
objWord.Selection.Font.Size ="18"
objWord.Selection.Font.Name ="18"
objWord.Selection.Font.bold = true
objWord.Selection.EndKey 6,0
' formatting changes in the code completes
objWord.Selection.TypeText vbCrLf & "testing time 3"
objWord.ActiveDocument.Save
' Close instance of word application
objWord.Quit
' Release the object for word document.
Set objWord=Nothing

Example 5: Reading content of a word document and storing in a string


Set objWord = CreateObject("Word.Application")
objWord.Documents.open "C:\qtptesting.docx"
set objdoc = objWord.Activedocument
strWordtext = ""

' read the number of words in the document and loop through the number of characters
iWordCnt= objdoc.Words.count
For i = 1 to iWordCnt
strWordtext = strWordtext + objdoc.Words(i)
Next
msgbox strWordtext
' specific changes in the code completes

objWord.Quit
'Release the object for word document.
Set objWord=Nothing

Similarities and Difference between SOAP and REST

In this article, we will try to understand what SOAP and Rest Services are discussing the similarities and differences in between the two. I have tried to consolidate the basic concept to understand what are SOAP and rest services.

Working for the Same Cause - SOAP and Rest both are used to access Web Services.

What do they stand for?

SOAP - Simple Object Access Protocol
REST - REpresentational State Transfer


What do they mean?

SOAP

  • SOAP is a standards-based Web services access protocol.
  • SOAP relies exclusively on XML to provide messaging services.
  • SOAP was developed by Microsoft.
  • SOAP is a standardized format and has defined various standards for messaging, security, metadata exchange specification and so on.
  • SOAP is highly extensible and also flexible enough to use only those standards which are required for the web services. E.g.: for a web service free to public, it is not required to define the security and authentication for web service.
  • SOAP Based Web Services are defined in WSDL(Web Services Description Language)
  • In case of invalid request, SOAP Response provides details of the error with error code, which helps user to identify the error in the request and correct the same.
  • SOAP client is tightly coupled to the server with rigid contract between client and server, Changes in either of client or server side needs to be communicated to counterparty for web services to work.

REST

  • REST uses URL instead of using XML to make request. Since REST uses URL, REST client is more like a browser.
  • REST uses GET, POST, PUT, and DELETE to perform tasks.
  • We can have the response in required format for e.g. in CSV, JSON, plain text, and XML format while using REST 
  • WADL is the REST equivalent of SOAP's Web Services Description Language (WSDL)
  • REST does not have large number of standards like SOAP.
  • REST is not a protocol but an architectural style.
  • A representation of a resource must be stateless, cacheable.
  • REST requires less bandwidth and resource than SOAP.

SOAP Advantage over REST

  •  REST services inherit security measures from the underlying transport whereas we can define our own security in SOAP. In terms of security, SOAP is assumed to be more safe compared to REST Works well in distributed enterprise environments
  • Is more standardized and has higher extensibility in form of WS* Standard.
  • Allows better error handling in the response from server.


REST Advantage over SOAP

  • REST is protocol independent.
  • While SOAP only supports XML, REST supports different format like text, JSON, XML.
  • REST requires less bandwidth and resource than SOAP.
  • Rest is more lightweight

Building base in WebServices – Questions and Answers

In last few articles, we discussed about the challenges inIntegration testing and have briefed the concept of web services.

In this article, we will explain how web services are used for integration testing. I will break this article in short questions and answers to easily understand the concepts:

  • What is Integration testing? – Validating Integration or connection between multiple components, modules or systems

  • What are the different architecture options available for Integration? – The common architecture options are using SOA, ESB or EAI architecture.

  • What are web services?  - A Web service is a URL-addressable resource returning information in response to client requests. Web services allow data exchange between applications in a platform independent manner. SOA are developed on web services using standard description (WSDL), discovery (UDDI) and messaging (SOAP).

  • How are Web Services useful for Integration testing? - Web Services are services used to have seamless and smooth integration of one software with software over intranet or intranet. Web Services uses SOAP Protocol to communicate between the software which is XML over http protocol.

  • What is WSDL? – Operations in a web services are described in XML format with the Web Service Description Language (WSDL). The WSDL consists of the URL for the web service, the methods in the web services, input parameter types and the return types of the web service methods.

  • What is UDDI?  - Web services can be published and located using the Universal Description, Discovery and Integration (UDDI) based registry of services.

  • What is SOAP? – SOAP stands for Standard Object Access Protocol. SOAP is used as messaging standard for communicating with the web service. Wrapped in a SOAP Envelope, Message can be delivered across network using different protocols.

  • What are top Challenges in testing web services?  - The major challenges in testing web services are:

o   Absence of a user Interface – Testing web services manually is a difficult task due to absence of user interface. To work with and testing web service, tester needs to have knowledge of specific tool .e.g.: Soap UI or jmeter and coding knowledge , e.g.: Groovy script
o   Actual Size of end User(s) for Internet Web Services – Performance testing should be done as early to validate proper response on soap request is received with varying load on web services. This again requires technical as well as tool knowledge and also identifying the expected load on web services is challenging.
o   Another challenge is maintaining different versions of Web Services as the old version of API are consumed. 

  • What are the different testing tools to test web services? Some of the  testing tools to test web services are :

o   Jmeter
o   SOAP UI
o   Examine