lappu sa Sachin hai
Reading Time: 3 minutes

You must have heard one size does not fit all. lets see how one tool cant solve all problems be it selenium etc

Recently on one of my bug I got the comment “This bug is really smelly

I could not understand if I did not reported things correctly or what is missed or sarcasm etc.

So first thought is to use translator. But the answer was not satisfactory. It has happened in past too but then we did not have another option.

Few things translator cannot understand because it does not understand context and yet to become that intelligent. As it does word to word translation many a times

So in this case switched to ChatGPT to know the actual meaning. Which you can read below, so nothing against the bug ( deep breath 🙂 )

Using the right tools can help you in getting in the right direction.

But how do you know the right tool. Let’s understand

lappu sa Sachin hai
lappu sa Sachin hai

 

One Quick Question – Gun or Knife which is better? Will answer at the end, you can think meanwhile.

  • Selenium is not the solution for all the places where automation is needed.

“Selenium automates browsers. That’s it!

As they say on their official website (selenium.dev)

  • Print statements are not an optimal way of logging in automation.

Problem Statement

Many a times we see people asking question like – how to automate API / PDF / CSV / EXCEL files using selenium.

It’s important to increase your horizon and have a basic understanding of the tools available to you.

It’s also important to know the functionalities offered by the tools you are using. Be it selenium, a language, a plugin , etc

How can you do that?

Do you need to learn all the tools?

Do you need to grasp all the information available on internet just like ChatGPT and become super intelligent?

Should you know all the capabilities of all the tools?

What is the solution?

  • Reading documentation from the official page of the tool helps as you start using the tool.
  • Asking questions in the communities which are present on ( facebook / telegram / linkedin / discord / slack) and many other tools
  • You can ask ChatGPT too now even before asking in communities.  bit.ly/chatgptfortesters <– I have discussed various use cases how I have used ChatGPT

The better to know you the better you can test / automate or use the tool.

Are you part of  The Test Chat Community ?

TTC and other communities have helped me a lot in staying up to date and know about various tools and capabilities as different people keep sharing different problems related to different things and even if you read them, your horizon will increase

Now let me share the perspective on Gun/knife question

Depends on the context, Gun or knife as a weapon can help a soldier based on the situation

If its open ground and 1 to 1 fight, then gun can proved to be a good one.

If soldier have to go inside a house/market and so many offenders there, knife can prove better (it wont produce a sound)

So understanding the context, the tools will be more helpful.

Thank you if you have come till here either by scrolling or reading throughout.

Feel free to book a session with me at via topmate.io/gauravkhurana

If you learnt something, taking below two actions would be helpful

Please do drop your email to get email for new post

var rm_pre_data = {"ajax_url":"https://udzial.com/wp-admin/admin-ajax.php", "rm_nonce_field":"661f59cf8d"};jQuery.fn.bindFirst = function(name, fn) { // bind as you normally would // don't want to miss out on any jQuery magic this.on(name, fn); var events = this.data('events') || jQuery._data(this[0], 'events'); var handlers = events[name]; // take out the handler we just inserted from the end var handler = handlers.splice(handlers.length - 1)[0]; // move it at the beginning handlers.splice(0, 0, handler); }; //Rainmaker var Rainmaker = function() {} Rainmaker.prototype = { init : function(form){ // var that = form; if(jQuery(form).closest('.rainmaker_form').length < 1) return; if(jQuery(form).closest('.rainmaker_form').hasClass('rm_init_done') ) return; if(jQuery(form).find('.rm_required_field, .ig_form_required_field').length < 1){ jQuery(form).append('
'); } jQuery(form).closest('.rainmaker_form').addClass(jQuery(form).closest('.rainmaker_form').data('type') || ''); jQuery(form).bindFirst('submit', function(e){ window.rainmaker.addLead(e, jQuery(e.target)); }); // submit Event jQuery(form).closest('.rainmaker_form').addClass('rm_init_done'); }, addLead : function(e, form, icg_msg){ var form = form || undefined; if(typeof(form) !== 'undefined'){ if(jQuery(form).closest('.rainmaker_form').length 0; if(!jQuery(fm_parent).hasClass('rm_custom') || (!jQuery(form).attr('action') && !mc4wpform) ){ e.preventDefault(); } if(jQuery(form).find('.rm_required_field').val() || jQuery(form).find('.ig_form_required_field').val()){ jQuery(fm_parent).find('.rm-loader').hide(); form.slideUp("slow"); jQuery(fm_parent).find('div.rm_form_message').show(); return; } var formData = {}; var formData = window.rainmaker.prepareFormData(e, form, icg_msg, formData); action = rm_pre_data.ajax_url + '?action=rm_rainmaker_add_lead'; jQuery(form).trigger( 'add_lead.rm', [formData] ); jQuery.ajax({ type: 'POST', url: action, data: formData, dataType: 'json', success: function(response){ if(response && typeof response.error !== 'undefined' && response.error !== ""){ jQuery(fm_parent).find('.rm-loader').hide(); jQuery(fm_parent).find('div.rm_form_error_message').text(response.error).show(); jQuery(window).trigger('error.rm', [form, response]); } else if(response && typeof response.success !== 'undefined'){ jQuery(form)[0].reset(); jQuery(form).trigger('success.rm', [form, response]); jQuery(fm_parent).find('.rm-loader').hide(); //TODO :: Later Move this in success callback form_message = jQuery(fm_parent).next('div.rm_form_message').html(); if( typeof form_message !== 'undefined' && form_message.trim() !== ''){ jQuery(fm_parent).slideUp("slow"); jQuery(fm_parent).next('div.rm_form_message').show(); // jQuery(fm_parent).next().next('div.rm_form_error_message').hide(); } //TODO :: Later Move this in success callback var redirection_url = response.redirection_url || ''; redirection_url = redirection_url.trim(); if (typeof(redirection_url) === 'string' && redirection_url != '') { if (!/^https?:\/\//i.test(redirection_url) ) { redirection_url = "http://"+redirection_url; } setTimeout(function(){ window.location.href = redirection_url; }, 200); } }else{ jQuery(fm_parent).find('.rm-loader').hide(); } }, error: function(err){ jQuery(fm_parent).find('.rm-loader').hide(); console.log(err); }, }); } }, prepareFormData: function (e, form, icg_msg, formData){ jQuery.each((jQuery(form).serializeArray() || {}), function(i, field){ formData['rmfpx_'+ field.name] = field.value; }); formData['rmfpx_added'] = true; formData['rmfpx_rm_nonce_field'] = rm_pre_data.rm_nonce_field; formData['rmfpx_rm_form-id'] = jQuery(form.closest('.rainmaker_form')).data('form-id'); // Send Icegram Data To Rainmaker if(typeof icegram !== 'undefined'){ formData['rmfpx_ig_mode'] = icegram.mode; formData['rmfpx_ig_remote_url'] = window.location.href; if(typeof icg_msg === 'undefined'){ var msg_id = (jQuery(form.closest('[id^=icegram_message_]') || {}).attr('id') || '').split('_').pop() || 0 ; icg_msg = icegram.get_message_by_id(msg_id) || {}; } if(typeof icg_msg.data !== 'undefined'){ formData['rmfpx_ig_message_id'] = icg_msg.data.id; formData['rmfpx_ig_campaign_id'] = icg_msg.data.campaign_id; } } return formData; }, }; if(typeof window.rainmaker === 'undefined'){ window.rainmaker = new Rainmaker(); } jQuery(document).ready(function(){ jQuery('.rainmaker_form form').each(function(i, v){ window.rainmaker.init(v); }); }); // Start : For Icegram Compatibility jQuery( window ).on( "init.icegram", function(e, ig) { // Find and init all RM forms within Icegram messages/divs if(typeof ig !== 'undefined' && typeof ig.messages !== 'undefined' ){ jQuery.each(ig.messages, function(i, msg){ var forms = jQuery(msg.el).find('.rainmaker_form form'); forms.each(function(i, form){ if(!jQuery(form).hasClass('rm_init_done')){ window.rainmaker.init(form); jQuery(form).addClass('rm_init_done'); } }); }); } }); // init.icegram //Handle CTA function(s) after successful submission of form jQuery( window ).off('success.rm'); jQuery( window ).on('success.rm', function(e, form, response) { if( typeof icegram !== 'undefined'){ var msg_id = ((jQuery(e.target).closest('[id^=icegram_message_]') || {}).attr('id') || '').split('_').pop() || 0 ; var msg = icegram.get_message_by_id(msg_id) || undefined; if(typeof msg !== 'undefined'){ //TODO:: test this for contact form. // if(msg.data.cta === 'form_via_ajax' && msg.el.find('.rm_subscription').length > 0){ if(msg.data.cta === 'form_via_ajax' && msg.el.find('.rm_subscription, .rm_contact').length > 0){ // TODO::test this , causing duplicate messages msg.el.trigger('form_success.ig_cta', [msg]); } else if(msg.data.cta === 'form' || !msg.data.cta){ if(msg.data.use_form == undefined){ msg.data.response_text = ''; } response_text = '
'+ (msg.data.response_text || msg.el.find('.rm_form_message').html() || '') +'
'; msg.el.find('.ig_form_container, .ig_message, .ig_headline').hide(); var appendTo = msg.el.filter('.ig_container'); if(jQuery.inArray(msg.data.type, ['interstitial', 'messenger']) !== -1){ appendTo = msg.el.find('.ig_message'); appendTo.show(); msg.el.find('.ig_headline').text('').show(); }else if(msg.data.type === 'tab'){ //TODO :: hide is not working appendTo = msg.el.find('.ig_data'); msg.el.find('.ig_headline').show(); } try{ appendTo.append(response_text); }catch(err){ console.log(err); } } } } }); //success.rm // addLead on IG-CTA form submit event jQuery(window).off('form_submit.ig_cta'); jQuery(window).on('form_submit.ig_cta', window.rainmaker.addLead);
And subscribe to this blog youtube channel

Please drop a comment below with your thoughts on this

Related Posts

One thought on “One tool cant solve all problems

Leave a Reply

Your email address will not be published. Required fields are marked *