This is an ugly hack. Please be careful with this code as it is using an undocumented feature. Code below will allow you to modify a test script using VBA. Test script is an asset within TestPartner application, so if you are not using TP this may not apply to you.
~ts
'------------------------------------------------------------------------------ ' Develop by : Techno.Scavenger ' Licensed to : Mankind ' Date : 11Oct2008 @ 6:55 PM + 8 GMT (Saturday @home) ' Warranty ' THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ' IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ' FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ' “Techno.Scavenger” OR ANY OTHER CONTRIBUTOR BE LIABLE FOR ANY CLAIM, ' DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR ' OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE ' USE OR OTHER DEALINGS IN THE SOFTWARE. ' Note: ' You can do whatever with this code '------------------------------------------------------------------------------ Option Explicit Sub Main() TestAdd End Sub Sub TestAdd() Dim t As New TPApp Dim pCount As Integer Dim p As Integer Dim sCount As Integer Dim sName As String Dim tp As TestPartner.TPProject Dim ts As TestPartner.TPScript Dim tsx As TestPartner.TPScriptEx t.Login "admin", "admin", "TestPartner_SQL", 1 t.Show pCount = t.Projects.Count For p = 1 To pCount If t.Projects.Item(p).Name = "Common" Then Debug.Print t.Projects.Item(p).Name Set tp = t.Projects.Item(p) Dim iSCount As Integer iSCount = tp.Scripts.Count Dim iSIdx As Integer For iSIdx = 1 To iSCount Set tsx = tp.Scripts.Item(iSIdx) Set ts = tp.Scripts.Item(iSIdx) If ts.Name = "TestExecOther" Then tsx.OpenToLine 2 Sleep 1, tpPauseSeconds SendKeys "^a", True Sleep 1, tpPauseSeconds SendKeys "{BACKSPACE}", True Sleep 1, tpPauseSeconds SendKeys "~", True SendKeys "Sub Main", True SendKeys "~", True SendKeys "Msgbox ""Hello 6""", True SendKeys "~", True SendKeys "^S", True Set tsx = Nothing SendKeys "%FC", True SendKeys "~", True End If Next End If Next t.Logout Sleep 5, tpPauseSeconds Set t = New TestPartner.TPApp t.Login "admin", "admin", "TestPartner_SQL", 1 t.Show pCount = t.Projects.Count For p = 1 To pCount If t.Projects.Item(p).Name = "Common" Then Set tp = t.Projects.Item(p) iSCount = tp.Scripts.Count For iSIdx = 1 To iSCount Set ts = tp.Scripts.Item(iSIdx) Debug.Print ts.Name If ts.Name = "TestExecOther" Then ts.Execute -1, -1 Do While t.PlaybackInProgress Sleep 1 Loop t.Logout End If Next End If Next End Sub
~ts
Comments